Migrer votre code de CodeIgniter 3 vers CodeIgniter 4
Ç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 = $request->getIPAddress(); ou
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()
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’);