Cara Menjalankan Aplikasi PHP 5 Ke PHP 8 Tanpa Coding Ulang
Saya saat ini adalah seorang software developer dan mahasiswa. Di sela kesibukan saya menjadi mahasiswa, saya gemar menyelesaikan masalah seseorang yang berkaitan dengan teknologi dan perangkat lunak.
Saya memang tidak sepenuhnya ahli dalam bahasa pemograman. Tapi saya merasakan saya bisa menyelesaikan pekerjaan dengan mengerti inti sebuah masalah yang ada.
Menurut saya ini adalah sebaik baiknya bekal.
Beberapa hari yang lalu saya mendapatkan sebuah projek dari client saya.
Seputar Aplikasi
Ia meminta saya untuk mengembangkan sebuah aplikasi akuntan bisa berjalan di PHP 8. Awalnya, aplikasi ini menggunakan PHP 5 yang syntxnya sangat jadul dan memerlukan fungsi isset disetiap variabel yang belum memiliki value
Hehehe, terdengera teknis ya. Tapi saya akan menjelaskan dengan mudah bagaimana cara mengatasinya dan apa saja sumber masalahnya
Saya mencoba berbagai cara bagaimana mengubah aplikasi ini agar mau dijalankan ke PHP versi 8. Antaranya,
Solusi Solusi Untuk Menjalankan Aplikasi Ini Di PHP 8 Atau >7
Mengkonvert Skrip Dengan Aplikasi Yang Ada Di Docker
Saya menghabiskan kurang lebih satu minggu untuk mengotak ngatik aplikasi dan mengikuti segala dokumentasi. Ada satu aplikasi yang --katanya (karena saya sendiri belum membuktikan) bisa mengkonversi semua script dengan php jadul menjadi terbaru, yang bernama Rector
Namun sangat ribet dan sepertinya membutuhkan waktu yang lama untuk mengimplementasikannya
Menulis Ulang Codingannya/Scriptnya
Sangat melelahkan memang namun dengan cara seperti ini saya bisa mengerti seluk beluk aplikasi yang sudah berumur lebih dari 5 tahun ini.
Ada kendala saat saya mengkoding ulang aplikasi ini. Yaitu, saya tidak berhasil menginputkan nama database, detailt servername dan password berdasarkan inputan $_POST dari form yang dibuat. Maka saya meninggalkan cara seperti ini
Hanya Memperbaiki Yang Error Errornya Saja
Sebenarnya saya memikirkan cara seperti ini sudah sejak saya pertama kali mendapatkan projek ini. Namun barang kali saya bisa mendapatkan cara yang lebih mudah.
Dan secara kenyataan tidak berhasil
Saya menanyakan di beberapa forum programming, di discord, di facebook, bahkan rekan sesama programmer. Ternyata semua menyarankan saya untuk mengkoding ulang dan hanya mengatasi yang baris baris yang error errornya saja.
Penyebab Aplikasi Ini Tidak Mau Berjalan Di PHP 8 atau >7
Constant Yang Sudah Tidak Digunakan Lagi
Salah satu constant yang sampai saat ini membuat kepala saya pening adalah PDF_APP
Constan ini tidak bisa saya temuka di dokumentasi PHP manapun. Entah apakah ini sebuah constant built-in atau constant yang pernah didefinisikan
Dan seumpama ini kita perlu mendefinisikannya. Saya tidak melihat ada script yang berisi definisi dari konstant ini
Variabel Terkeksekusi Terlebih Dahulu Sebelum Mengecek Apakah Terdapat Value Atau Tidak
Ini terjadi karena kita tidak menuliskan fungsi isset(). Sehingga variabel dieksekusi ketika halaman berjalan. Namun, seiring kita menjalankan aplikasi, error ini akan hilang. Tapi tetap saja, jika tertera laporan error seperti gambar diatas, hal tersebut sangat menganggu
Mendefine Constant Tidak Terdeteksi Dalam Baris Baris Script
Ada beberapa constant yang didefinisikan di file lain, namun tidak jarang kita harus mendefine nya kembali dalam file php yang sama
Beberapa Syntax Yang Sudah Tidak Berlaku
Sejauh ini adalah continue, dan each(). Yaitu, function atau sintaks yang tidak lagi ada di versi PHP 8. Maka mau tidak mau harus mengganti dengan sintaks yang similar.
Tipe Data Real Yang Seharusnya Diganti Dengan Float
Cara menanaginya sangat mudah, kita tinggal menggantinya saja dengan keyword float. Sebagai pengganti dari tipe data real
File Permission Yang Harus Diganti
Saya sudah berhasil mengganti file permission ini menjadi write, read, dan execute menggunakan Filezilla.
Atau dalam chmod di Linux, saya tinggal mengisikan valuenya menjadi 755. Namun, tetap saja gagal. Dan script tidak mau menggenerate file configure.php untuk mengkoneksikan aplikasi ini dengan databse
Comments
Post a Comment