Apakah PHP 8 Mendukung Codeigniter 3? Simak Penjelasannya

Codeigniter 3 sendiri saat ini sangat support dengan PHP 7.4, namun pertanyaannya adalah apakah f...
Penulis
Admin
Kategori
Website
Estimasi
3 menit baca
Dilihat
2.2K
Posting
12 Dec 2021
Apakah PHP 8 Mendukung Codeigniter 3? Simak Penjelasannya Codeigniter 3 sendiri saat ini sangat support dengan PHP 7.4, namun pertanyaannya adalah apakah framework ini dapat berjalan dengan baik dalam versi PHP 8? Berbicara tentang PHP 8, perombakan yang cukup signifikan terjadi dibandingkan dengan versi PHP 7.4, beberapa komponen dioptimasi serta penambahan fitur baru, yang bertujuan untuk mempercepat, mengoptimasi seluruh website berbasis PHP. Apakah PHP 8 Mendukung Codeigniter 3? Simak Penjelasannya
2022-11-25

Beberapa dari kalian mungkin memiliki project website atau website bisnis yang berjalan dengan framework Codeigniter 3. Ketika saat Codeigniter 4 dirilis, kalian pasti mempertimbangkan beberapa aspek seperti waktu yang dibutuhkan untuk merubah semua kode, biaya yang dibutuhkan untuk bermigrasi dari CI 3 ke 4.

Beberapa alasan mengapa Codeigniter 3 ini masih bertahan dan masih banyak digunakan adalah framework ini hanya memiliki footprint yang sangat kecil disertai dengan kemudahan dalam mengubah atau menambahkan fitur-fitur baru yang sederhana dan powerful. Masih banyak perusahaan-perusahaan yang masih mengunakan framework ini dalam aplikasi mereka.

 

Apakah Codeigniter 3 support dengan PHP 8

 

 

Mengingat perubahan yang cukup besar dari Codeigniter versi 3 ke 4 yang cukup signifikan dan beberapa aspek pertimbangan, beberapa pemilik website masih tetap bertahan dengan versi 3. Tidak hanya itu, adanya update dan penambahan fitur-fitur terbaru PHP dengan versi 8, yang membuat pemilik website berpikir ingin bermigrasi dengan menganti versi dengan yang terbaru.

Berbicara tentang PHP 8, banyak perubahan dan penambahan fitur yang cukup signifikan dibandingkan dengan versi sebelumnya, yang bertujuan untuk mempercepat, mengoptimasi website yang menggunakan PHP dalam menjalankan aplikasinya dengan baik dari segi keamanan, kecepatan dan flexibilitas. Dan saat ini Codeigniter dengan versi 3.1.11 sangat support dengan PHP 7.4 dengan waktu perilisan yang sudah cukup lama yaitu tahun 2019, namun pertanyaannya adalah apakah framework ini dapat berjalan dengan baik dalam versi 8?

Ketika kita membaca dokumentasi dalam situs resminya, disana tidak disertakan apakah framework ini support dengan PHP 8 atau tidak, namun hanya menampilkan beberapa spesifikasi dengan minimal versi 5.6 atau yang lebih baru. Dengan keambiguan informasi ini, kami akhirnya dengan rasa penasaran memutuskan untuk mencobanya sendiri dengan mengunakan local web server yang sudah terinstall dengan PHP versi 8.0.13.

 

Menjalankan Codeigniter 3 dengan PHP 8

 

Menjalankan Aplikasi berbasis Codeigniter 3 dengan PHP 8

Sebagai bahan percobaan, kita membuat aplikasi CRUD sederhana dengan mengunakan framework Codeigniter 3 dan menjalankannya dengan PHP 8, kita cukup terkejut dengan hasil yang ada, Codeigniter 3 dapat berjalan dengan baik dalam versi 8 ini, berita yang cukup mengembirakan dan sayangnya kita menemukan beberapa bug, diantaranya: 

  • Session flashdata yang tidak berfungsi
  • Beberapa library dan helper yang rusak
  • Kesalahan error jika tidak mengunakan tag pembuka pada else dan penutup tag pada view
  • Beberapa kesalahan error pada baris line kode PHP seperti, deklarasi variable, pengecekan null dll.
  • Selebihnya aman dan terkendali. 

Dalam permasalahan session flashdata, kalian bisa memperbaikinya dengan merubah beberapa baris code pada file utama session.php didalam folder system/libraries/session pada baris 420:

elseif ($value < $current_time)
{
   unset($_SESSION[$key], $_SESSION['__ci_vars'][$key]);
}

Rubah menjadi:

elseif ($value === 'old' || $value < $current_time)
{
   unset($_SESSION[$key], $_SESSION['__ci_vars'][$key]);
}

SIlahkan test apakah fitur flashdata dalam session masih error atau tidak, kita sudah mencobanya dan sudah berfungsi dengan normal. Selanjutnya, contoh kasus error pada point ke tiga, kita contohkan seperti ini:

<?php if($status == true) { ?>
  <div class="alert">Success!</div>
<? } else { ?>
  <div class="alert">Warning!</div>
<? } ?>

Perubahan yang kita lakukan untuk menghilangkan error tersebut adalah:

<?php if($status == true) { ?>
  <div class="alert">Success!</div>
<?php } else { ?>
  <div class="alert">Warning!</div>
<?php } ?>

 

Dan beberapa error pada logika script saat update PHP 8 yang perlu diperhatikan adalah setiap pengecekan null dan deklarasi pada setiap variabel dan sangat strict dengan hal ini. Jika kalian seorang web developer yang paham dengan bahasa pemrograman PHP khususnya yang paham dengan versi 8, hal-hal tersebut mungkin tidak menjadi sebuah kesulitan yang berarti.

Namun perlu diketahui, testing ini baru dilakukan untuk keperluan CRUD sederhana, kita belum mencoba apakah penggunaan Cart dengan menggunakan CI sudah support atau belum dalam versi 8.1 ini, mungkin nanti kita akan mencobanya dilain kesempatan.

Didalam repository Github resminya, disana banyak developer-developer yang saling membantu dalam mengatasi permasalahan bug terkait session, helper atau library lainnya pada versi 8.1. Silahkan kunjungi repository resmi di Github Codeigniter 3 untuk mengetahui segala informasi lebih lengkapnya.

Dari permasalahan yang kami temukan, kami membuat kesimpulan bahwa CI 3 dapat digunakan dengan PHP 8 dengan syarat:

  • Kalian perlu memahami perubahan kode yang digunakan sebelum PHP 8.
  • Update file system secara berkala dengan repository terbaru CI 3 di github.
  • Selalu memantau perubahan dan perkembangan CI 3 dengan PHP 8 dengan cara mengunjungi beberapa forum resmi CI dan GIthub dari Codeigniter.
  • Mengasah terus kemampuan programming PHP kalian dengan menggunakan PHP 8.

Pada intinya, Kita cukup terkejut framework Codeigniter 3 ini dapat berjalan baik dengan PHP versi 8, bagi kalian yang masih bertahan dengan framework Codeigniter 3, kalian masih bisa bernafas lega untuk tetap menggunakan framework ini. Namun harus disertai penguasaan bahasa pemrograman PHP yang baik untuk menangani beberapa error yang muncul dengan cepat.

Semoga dengan adanya artikel ini, kami dapat membantu kalian dalam mencari informasi terkait dengan PHP 8 di Codeigniter 3 ini.

Share