19 Perbedaan CodeIgniter 3 dan 4

image 1 - 19 Perbedaan CodeIgniter 3 dan 4

Berikut adalah tabel perbedaan utama antara CodeIgniter 3 dan CodeIgniter 4 yang perlu kamu ketahui saat melakukan migrasi:

AspekCodeIgniter 3CodeIgniter 4
Versi PHP MinimumPHP 5.6.0PHP 7.2 (awal), sekarang disarankan PHP 8.0 atau lebih
Struktur FolderLebih sederhana dan flatLebih modular dan terorganisir (ada folder app, system, writable, dll)
AutoloadingManual via config/autoload.phpMenggunakan PSR-4 autoloading (Composer kompatibel)
RoutingRoute berbasis URI segmentLebih fleksibel, mendukung route berbasis closure & filter
NamespaceTidak adaMenggunakan namespace PHP (PSR standar)
ModelTidak wajib OOP murni, bisa proceduralLebih OOP dan mendukung Entity & Model berbasis ORM ringan
HelperDipanggil manual via load->helper()Bisa dipanggil langsung dengan helper() global function
SessionBerdasarkan PHP nativeBisa menggunakan berbagai driver (file, database, redis)
Library & ClassDisimpan di application/librariesBisa di-namespace dan autoloaded via PSR-4
ValidationValidation terpisah dari modelValidation terintegrasi dengan model
Environment ConfigurationManual konfigurasiMendukung file .env untuk manajemen konfigurasi
Testing (Unit Test)Tidak terintegrasiMendukung PHPUnit secara default
SecurityCSRF dan XSS filter manualLebih kuat, ada filter dan middleware bawaan
CLI ToolsTidak adaAda perintah spark CLI untuk generate, migrate, dll
Database MigrationHarus dibuat manualMendukung migration & seeding database via CLI
Middleware/FilterHarus didefinisikan sendiriMendukung filter untuk auth, logging, dll
Template EngineTidak disediakan defaultTetap pakai view(), tetapi bisa integrasi Blade/Twig
Composer SupportTerbatas (tidak native)Full support, autoloading via Composer
File Upload & HandlingKurang aman, butuh konfigurasi manualAda class khusus untuk upload & file handling

Jika kamu melakukan migrasi, kamu tidak bisa langsung copy-paste file CI3 ke CI4 karena perbedaannya cukup fundamental, terutama pada struktur folder, namespace, dan cara kerja autoloading.

You cannot copy content of this page