PHP terus berkembang dengan membawa peningkatan performa dan keamanan di setiap rilisnya. Namun, bagi developer yang masih menggunakan CodeIgniter3, pembaruan PHP seperti versi 8.4 bisa menjadi tantangan tersendiri. Banyak fungsi dan sintaks yang dulunya berjalan mulus kini menghasilkan error, deprecated warning, bahkan membuat aplikasi tidak bisa berjalan sama sekali.
Jika kamu mengalami error setelah upgrade ke PHP 8.4 — seperti “Deprecated: Constant E_STRICT is deprecated in”, atau “Creation of dynamic property CI_Router::$uri is deprecated” — artikel ini akan membantumu memahami penyebabnya dan bagaimana cara memperbaikinya agar aplikasi CodeIgniter 3 tetap stabil dan kompatibel dengan versi PHP terbaru.
Untuk Pesan Error: Deprecated: Constant E_STRICT is deprecated in
Pada bagian public $levels kamu dapat mengganti array di system\core\Exceptions.php dengan yang di bawah ini
public $levels = array(
E_ERROR => 'Error',
E_WARNING => 'Warning',
E_PARSE => 'Parsing Error',
E_NOTICE => 'Notice',
E_CORE_ERROR => 'Core Error',
E_CORE_WARNING => 'Core Warning',
E_COMPILE_ERROR => 'Compile Error',
E_COMPILE_WARNING => 'Compile Warning',
E_DEPRECATED => 'Core Depreciated',
E_USER_ERROR => 'User Error',
E_USER_WARNING => 'User Warning',
E_USER_NOTICE => 'User Notice',
E_USER_DEPRECATED => 'User Depreciated'
);
Untuk Pesan Error: Creation of dynamic property CI_URI::$config is deprecated
di /system/core/URI.php kamu bisa menambahkan didalam classnya
public $config;
Yang terakhir didalam file src/public/system/core/Loader.php dan src/public/system/core/Controller.php tambahkan kode dibawah ini:
public $benchmark;
public $hooks;
public $config;
public $log;
public $utf8;
public $uri;
public $router;
public $output;
public $security;
public $input;
public $lang;
Dan jangan lupa reload setelah perbaikan sehingga tampilan akan menjadi seperti berikut
