CodeIgniter: set_value() ou post() - ce qui est plus rapide et quelle est la meilleure pratique pour stocker des données dans la base de données

Fond
À l'aide de Codeigniter avec form_helper et form_validation pour faire une certaine forme de traitement. Formulaire a été validé dans le controller.

Maintenant, nous avons besoin de mettre ces données dans la base de données à l'aide de la model classe.

Hypothèses

Permet de supposer notre formulaire en a plusieurs éléments d'entrée (par exemple >20).

Question
Lequel des extraits de code suivants seront plus efficaces? Both snippets are obviously inside the controller method to which the form submits data.

Extrait De Code 1

if ($this->form_validation->run())
{
    //validation successful, now collect the values in a variable to pass it to the model.
    $form_data['field1'] = $this->form_validation->set_value('field1');
    $form_data['field2'] = $this->form_validation->set_value('field2');
    //AND SO ON
    $form_data['fieldN'] = $this->form_validation->set_value('fieldN');

    //Now put this data into database.
    $this->corresponding_model->write_to_db($form_data);
}

Extrait De Code 2

if ($this->form_validation->run())
{
    //validation successful, now collect the values in a variable to pass it to the model.
    $form_data['field1'] = $this->input->post('field1');
    $form_data['field2'] = $this->input->post('field2');
    //AND SO ON
    $form_data['fieldN'] = $this->input->post('fieldN');

    //Now put this data into database.
    $this->corresponding_model->write_to_db($form_data);
}

Donc, essentiellement, ce que je demande est: Ce qui est mieux pour obtenir les données de postes pour certains arbitraire élément de formulaire? $this->input->post ou $this->form_validation->set_value() ?

PS: Si l'on regarde le set_value() et post() fonctions dans le code (voir ci-dessous), évidemment set_value() va être plus rapide que post() parcourt l'ensemble de la $_POST. Donc dans un sens, c'est aussi sur ce qui est la meilleure pratique?

Form_validation.php, set_value() la méthode

public function set_value($field = '', $default = '')
{
    if ( ! isset($this->_field_data[$field]))
    {
        return $default;
    }

    //If the data is an array output them one at a time.
    //    E.g: form_input('name[]', set_value('name[]');
    if (is_array($this->_field_data[$field]['postdata']))
    {
        return array_shift($this->_field_data[$field]['postdata']);
    }

    return $this->_field_data[$field]['postdata'];
} 

Input.php, méthode post ()

function post($index = NULL, $xss_clean = FALSE)
{
    //Check if a field has been provided
    if ($index === NULL AND ! empty($_POST))
    {
        $post = array();

        //Loop through the full _POST array and return it
        foreach (array_keys($_POST) as $key)
        {
            $post[$key] = $this->_fetch_from_array($_POST, $key, $xss_clean);
        }
        return $post;
    }

    return $this->_fetch_from_array($_POST, $index, $xss_clean);
}
InformationsquelleAutor joshi | 2013-06-20