Migrer votre code de CodeIgniter 3 vers CodeIgniter 4

Développeur free-lance, je conçois vos outils informatiques sur mesure.

Migrer votre code de CodeIgniter 3 vers CodeIgniter 4

15 octobre 2018 Non classé 0

Ça y’est , CodeIgniter 4 est sortie ! Et il est plutôt pas mal.

Mais migrer votre code de la version 3 vers 4 ne sera pas une chose aisé.

Voici quelques tips pour vous aider dans votre mise à jour.

Les fichiers de configuration

https://www.codeigniter.com/user_guide/libraries/config.html

https://bcit-ci.github.io/CodeIgniter4/general/configuration.html

Avant

$this->config->load('ion_auth');

$this->config->item(‘admin_group’, ‘ion_auth’)

Maintenant

$this->configIonAuth = config(‘IonAuth’);

$this->config->admin_group;

Input / IncomingRequest Class

https://www.codeigniter.com/user_guide/libraries/input.html

https://bcit-ci.github.io/CodeIgniter4/incoming/incomingrequest.html

$foo = $this->input->post(‘foo’)    // CI 3

$foo = $this->request->getPost(‘foo’);    // CI 4

$ipAddress = $this->input->ip_address();
devient
// Dans un controlleur
$ipAddress = $this->request->getIPAddress();
// AIlleurs
$request = \Config\Services::request();

$ipAddress = $request->getIPAddress(); ou

$ip_address = \Config\Services::request()->getIPAddress();

 

 

Les Helpers

$this->load->helper(‘string’); devient helper(‘text’);

lang(‘string_to_translate’, ‘id’); est à remplacer par lang(‘NOM_DU_FICHIER.string_to_translate’)

Form helper

CI 3

$this->form_validation->set_value(‘group_name’, $group->name)

CI4

set_value(‘group_name’, $group->name)

Session

$this->session->set_flashdata() devient $this->session->setFlashdata()

$this->session->flashdata(‘csrfkey’) devient $this->session->getFlashdata(‘csrfkey’)

 

$this->form_validation->setRule() $this->form_validation->setRule()

$this->form_validation->setRules()

$this->lang->line(‘string_to_translate’) lang(‘FILE_NAME.line_to_translate’);

Form_validation -> Validation

https://bcit-ci.github.io/CodeIgniter4/libraries/validation.html

$this->form_validation->run())

devient
$this->form_validation->withRequest($this->request)->run()

validation_errors() ->$validation->listErrors();

Redirection

redirect(‘urlto’, ‘refresh’) -> return redirect(‘urlto’)

Base de données

https://bcit-ci.github.io/CodeIgniter4/database/index.html

row() => getRow()

db->list_fields($table); => $db->getFieldNames($table);
$this->db->affected_rows() -> $this->db->affectedRows()

Gestion des erreurs

https://www.codeigniter.com/user_guide/general/errors.html

https://bcit-ci.github.io/CodeIgniter4/general/errors.html

L’ancienne gestion des erreurs est désormais remplacé par des Exceptions.

On remplacera donc : show_error(‘Grrrrr’);

par quelque chose du genre : throw new \Exception(‘Grrrrr’);

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *