PHP Error: Creation of dynamic property CI_URI::$config is deprecated

Error ini sering keluar di aplikasi PHP khususnya CodeIgniter 3 jika dijalankan di PHP 8.2

<!-- Contoh error lengkapnya -->
A PHP Error was encountered
Severity: 8192

Message: Creation of dynamic property CI_URI::$config is deprecated

Filename: core/URI.php

Untuk solusi khusus aplikasi CodeIgniter 3 bisa cek tutorialnya disini

Untuk aplikasi PHP native, error dynamic property is deprecated muncul karena ada class yang menggunakan property tapi tidak dideklarasikan

Solusinya adalah dengan menambahkan deklarasi property yang error tersebut

Contohnya error CI_URI::$config artinya di class CI_URI ada property $config yang harus dideklarasikan

class CI_URI
{
    // deklarasikan property yang error disini
    public $config;

    // ...
}
  • Untuk modifier public atau private bisa disesuaikan dengan kebutuhan property nya

Selain dengan cara tersebut, bisa juga dengan menambahkan #[AllowDynamicProperties] sebelum kode class

#[AllowDynamicProperties]
class CI_URI {
  • Cara ini digunakan jika misal terlalu banyak property yang harus ditambahkan dan terlalu malas untuk menambahkan satu per satu
  • Tetapi tentu cara pertama yang lebih direkomendasikan

Posting Komentar