Upgrade selalu menjadi mimpi buruk bagi seorang developer, tidak lepas juga bagi seorang web engineer. Performance dan security menjadi dua aspek yang sangat dipertimbangkan.
Perubahan antar versi di PHP secara teknis dapat diketahui, apa saja fitur-fitur baru dan apa saja fitur-fitur yang sudah deprecated. Namun jika harus memeriksa satu persatu tentu tidak akan mudah. Bagi yang menggunakan PhpStorm masih bisa bernafas jika ada keharusan upgrade.
Memilih versi PHP sangatlah mudah, namun masalah kompatibilitas selalu membayangi. class
dan function
yang awalnya berjalan normal bisa jadi tiba-tiba menjadi error. Maka merupakan hal yang wajib untuk memeriksa setiap baris code berkaitan dengan perubahan versi PHP yang sudah diganti. PhpStorm menyediakan fasilitas inspection untuk mencari class
atau function
yang tidak kompatibel lagi dengan versi PHP yang dipilih.
Sampai tahap ini kita bisa memilih scope mana yang akan dianalisa, apakah keseluruhan project, directory tertentu, atau kita bisa membuat secara custom. Bagi project yang menggunakan library pihak ketiga yang cukup banyak sebaiknya bisa custom directory agar spesifik memeriksa code inti saja, tidak perlu menganalisa library yang dikembangkan oleh pihak lain.
Secara teknis banyak hal yang bisa dilakukan menggunakan fitur code inception di PhpStorm, karena hasil analisanya mencakup banyak aspek. Tapi dalam tulisan kali ini saya ingin fokus ke masalah kompatibilitas. Pada gambar pemilihan versi PHP dampaknya ditunjukkan oleh gambar diatas, pada bagian Type compatibility terdapat beberapa file yang mengalami masalah, baik dari masalah class
maupun function
.
Dari sana kita bisa mulai berangkat untuk fokus memperbaiki script-script yang terdampak.