Saya punya proyek besar di php 5 dan didokumentasikan dengan baik. Sekarang, saya ingin bermigrasi ke php 7. 2 dan saya sudah memeriksa kompatibilitasnya menggunakan phpstan dan semuanya baik-baik saja. Jadi, saya ingin tahu apakah ada alat yang dapat secara otomatis mengubah anotasi php 5 menjadi php 7 (seperti deklarasi fungsi dan variabel)? Show Terima kasih sebelumnya PHP 7 telah diluncurkan dengan fitur menarik dan peningkatan kinerja yang drastis. Ada penurunan konsumsi memori dan banyak kesalahan fatal diubah menjadi pengecualian Langkah-langkah untuk memutakhirkan dari PHP 5 ke PHP 7Untuk memutakhirkan dari PHP 5 ke PHP 7, ada 3 langkah utama. Proses yang tercantum di bawah ini akan sangat membantu ketika basis kode sedang atau besar
Memilih IDESelama proses pemutakhiran, sulit untuk mengetahui tentang semua fungsi yang tidak digunakan lagi dan dihapus secara manual;
Kode untuk Upgrade dari PHP5 ke PHP7Selesaikan semua kesalahan termasuk kesalahan pemberitahuan dan kesalahan usang di PHP 5. 4. * untuk menjalankan kode Anda di PHP 7. 0 versi
Fase Pengujian
Daftar ekstensi dan fungsi yang dihapus di PHP 7. * dan alternatif ekstensi dan fungsi di dalamnya Perubahan Tidak Kompatibel Mundur di PHP 7. * Fungsi alternatif atau modul atau daftar pustaka untuk ini ekstensi mysql dihapus. Kami tidak dapat menggunakan fungsi mysql_*. Misalnya. mysql_query(); Harus menggunakan fungsi pdo atau mysqli untuk menangani operasi basis data $HTTP_RAW_POST_DATA dihapus file_get_contents("php. //memasukkan"); ereg_* dihapus fungsi preg_* dapat digunakan sebagai alternatif Mssql, sybase_ct PDO mungkin ekstensi alternatif call_user_method(); call_user_func(); membelah(); . 4 itu sendiri Fungsi alternatif adalah meledak(), str_split(); __autoload() (7. 2) fungsi dihapus spl_autoload_register(); $php_errormsg(variabel) dihapus error_get_last(); masing-masing() (7. 2) fungsi dihapus -- Sebagian besar fungsi mcrypt_* tidak digunakan lagi dan dihapus di PHP7. * versi -- Sintaks tangan pendek dihapus , sintaks ini akan menjadi yang standar Perubahan tidak kompatibel mundur
interpretasi PHP5. ${$first['light][‘year']}, $foo->{$light['year']} interpretasi PHP 7. ($$pertama)['cahaya']['tahun'], ($pertama->$cahaya)['tahun']
daftar($a[], $a[], $a[]) = [1, 2, 3]; print_r($a); Keluaran PHP5. array([0]=>3, [1]=>2, [2]=>1); Keluaran PHP7. array([0]=>1, [1]=>2, [2]=>3);
daftar() = $a; daftar(,,) = $a;
PHP5 var_dump(1/0); Keluaran. Peringatan. Pembagian dengan nol di %s pada baris %d bool (salah) var_dump(0%0); Peringatan. Pembagian dengan nol di %s pada baris %d bool (salah) PHP 7 var_dump(1/0); Peringatan. Pembagian dengan nol di %s pada baris %d mengambang(INF) var_dump(0%0); Kesalahan fatal PHP. Divisi Tidak Tertangkap OlehZeroError. Modulo dengan nol di baris %s %d
PHP5 $array = [0, 1, 2]; foreach ($array as &$val) { var_dump(current($array)); } Keluaran int(1), int(2), bool(salah) PHP 7 $array = [0, 1, 2]; foreach ($array as &$val) { var_dump(current($array)); } Keluaran int(0), int(0), int(0)
Uji kelas {} $testobj =& Tes baru; Keluaran PHP5 Tidak digunakan lagi. Menetapkan nilai pengembalian baru dengan referensi tidak digunakan lagi di /path/test. php di baris 3 Keluaran PHP7 Kesalahan parse. kesalahan sintaksis, 'baru' (T_NEW) yang tidak terduga di /path/test. php di baris 3 Beberapa Fitur Baru Konstanta array dapat didefinisikan seperti di bawah ini define('Bahasa Pemrograman', [ Visibilitas Konstan Kelas kelas ConstantDemoClass Opsi Sesi session_start() sekarang menerima array opsi yang mengesampingkan arahan konfigurasi sesi yang biasanya diatur dalam php. ini Apakah PHP5 kompatibel dengan PHP7?Anda perlu mengetahui bahwa sebagian besar, PHP 5. kode x dapat berjalan di PHP 7 . Di PHP 7, ada beberapa perubahan yang tidak kompatibel ke belakang, sehingga aplikasi dibangun dengan PHP 5.
Bagaimana cara mengonversi PHP5 ke PHP7?Kode untuk Memutakhirkan dari PHP5 ke PHP7
. Misalnya. error_reporting(E_ALL ^ E_STRICT); . Buat lapisan abstraksi untuk operasi basis data dengan menggunakan ekstensi PDO karena PDO mendukung banyak basis data. Set error reporting to E_ALL as below. Eg: error_reporting(E_ALL ^ E_STRICT); Solve all the errors including notice errors and deprecated errors. Create an abstraction layer for database operations by using PDO extension as PDO supports multiple databases.
Apa itu PHP5 vs PHP7?PHP 7 adalah versi perbaikan dari PHP 5 yang memberikan kinerja lebih cepat dengan menggunakan lebih sedikit penyimpanan . Pengkodean PHP5 jauh lebih sederhana daripada pengkodean tradisional, dan PHP 7 memberi pengembang sistem pengkodean sederhana. Mesin PHP7 yang ditingkatkan dianggap sebagai desain generasi berikutnya.
Apa versi PHP sebelum PHP7?Jika Anda tidak mengikuti PHP dengan cermat atau Anda baru mengenal pemrograman PHP, Anda harus mengetahuinya sebelum PHP 7, PHP 5. 6 dulunya adalah versi stabil. |