Error Creation Of Dynamic Property Di Codeigniter 3
Error:
"Creation of dynamic property CI_URI::$config is deprecated"
Artinya:
Mulai dari PHP 8.2, membuat properti dinamis (menambahkan properti baru ke objek tanpa deklarasi eksplisit) sudah deprecated (tidak disarankan dan akan dihapus di masa depan).
⚠️ Masalah Umum:
CodeIgniter 3 (CI3) dan banyak library lama sering menggunakan cara ini:
$this->uri->config = $some_config;
Atau:
$this->config->some_setting = 'value';
Dan ini tidak lagi kompatibel dengan PHP 8.2+.
✅ Solusi 1: Jangan Tambahkan Properti Dinamis
Jika Anda melihat baris seperti ini:
$this->uri->config = $config;
Anda harus menyimpannya di tempat lain. Contoh:
???? Gantilah:
$this->uri->config = $config;
✅ Menjadi:
$this->my_uri_config = $config;
Atau simpan di $this->config->set_item()
jika itu pengaturan global.
✅ Solusi 2: Tambahkan Properti secara eksplisit di Class
Jika Anda mengontrol kode class (misal: Anda membuat sendiri MY_URI
), tambahkan properti secara eksplisit:
???? Gantilah:
class MY_URI extends CI_URI {
// Tidak ada properti $config
}
✅ Menjadi:
class MY_URI extends CI_URI {
public $config; // Tambahkan ini untuk menghindari warning
}
✅ Solusi 3: Gunakan Versi PHP < 8>
Jika Anda tidak bisa mengubah kode CI3 saat ini dan hanya ingin "jalan dulu", Anda bisa:
Gunakan PHP 8.0 atau 8.1
Laragon bisa ganti versi PHP dengan mudah:
Menu >PHP > Pilih Versi
Ini bukan solusi jangka panjang, hanya sementara agar proyek berjalan tanpa warning.
Solusi Tambahan (opsional): Gunakan AllowDynamicProperties
(untuk sementara)
Jika Anda hanya ingin mematikan warning secara eksplisit di class, bisa pakai atribut PHP:
#[AllowDynamicProperties]
class MY_URI extends CI_URI {
// sekarang properti dinamis diizinkan lagi
}
Tapi ini hanya solusi sementara & tidak direkomendasikan jangka panjang.
Rekomendasi
Untuk proyek CodeIgniter 3 jangka panjang di PHP 8.2+:
Periksa dan hindari akses properti dinamis.
Upgrade ke CodeIgniter 4 (jika memungkinkan).
Jika tetap di CI3, Anda bisa buat custom loader/helper untuk simpan config tambahan.
0 Comments