PHP 5 - PHP 7 kod dönüştürücüsü oluşturma
PHP 5 - PHP 7 kod dönüştürücüsü oluşturma
Çoğunlukla, PHP 5.x kodu PHP 7'de değişmeden çalışabilir. Bununla birlikte, geriye dönük uyumsuz olarak sınıflandırılan birkaç değişiklik vardır. Bunun anlamı, PHP 5 kodunuz belirli bir şekilde yazılmışsa veya kaldırılmış işlevleri kullanıyorsa, kodunuzun kırılacağı ve elinizde kötü bir hata olacağıdır.
PHP 5 - PHP 7 Kod Dönüştürücü iki şey yapar:
- Kod dosyanızı tarar ve kaldırılan PHP 5 işlevselliğini PHP 7'deki eşdeğerine dönüştürür
- Dil kullanımında değişikliklerin meydana geldiği, ancak yeniden yazmanın mümkün olmadığı yerlerde açıklamalar ekler
//
WARNING
Bu tarifin özü yeni PHP 7 işlevidir. Bu şaşırtıcı işlevin yapmanıza izin verdiği şey, bağımsız bir geri aramayı temsil eden değerle birlikte bir dizi normal ifadeyi anahtar olarak sunmaktır. Daha sonra dizeyi bir dizi dönüşümden geçirebilirsiniz. Sadece bu değil, geri çağırma dizisinin konusu da bir dizi olabilir.preg_replace_callback_array()
- Yeni bir sınıfta , bir dosya adını bağımsız değişken olarak kabul eden bir yöntemle başlıyoruz. Dosyanın var olup olmadığını denetler. Öyleyse, dosyayı bir diziye yükleyen PHP işlevini çağırır ve her dizi öğesi bir satırı temsil eder:
Application\Parse\Convert
scan()
file()
- Ardından, bir dizi anahtar/değer çiftini geçirmeye başlıyoruz. Anahtar, dizeye karşı işlenen normal bir ifadedir. Tüm eşleşmeler, anahtar/değer çiftinin değer parçası olarak temsil edilen geri aramaya geçirilir. PHP 7'den kaldırılan etiketleri açıp kapatmadığını kontrol ediyoruz:
- Ardından, belirli işlemler algılandığında bir dizi uyarı vardır ve PHP 5 ile PHP 7'de nasıl işlendikleri arasında potansiyel bir kod kırılması vardır. Tüm bu durumlarda, kod yeniden yazılmaz. Bunun yerine, kelimeyi içeren satır içi bir yorum eklenir:
WARNING
- Negatif bir işleç veya 64'ün ötesinde herhangi bir kullanım girişimi, atılacak bir şey arayan bir bloğa sarılır:
<<
>>
try { xxx } catch() { xxx }
ArithmeticError
- Ardından, dönüştürücü PHP 7'de kaldırılan , 'nin herhangi bir kullanımını yeniden yazar. Bunlar, aşağıdakileri kullanarak eşdeğeri ile değiştirilir:
call_user_method*()
call_user_func*()
- Son olarak, değiştirici ile kullanmaya yönelik herhangi bir girişim bir :
preg_replace()
/e
preg_replace_callback()
Dönüştürücüyü kullanmak için, komut satırından aşağıdaki kodu çalıştırın. Bağımsız değişken olarak taranacak PHP 5 kodunun dosya adını sağlamanız gerekir.
Komut satırından çalıştırılan bu kod bloğu, dönüştürücüyü çağırır:chap_01_php5_to_php7_code_converter.php
Geriye dönük uyumsuz değişiklikler hakkında daha fazla bilgi için lütfen http://php.net/manual/en/migration70.incompatible.php bakın.
Hiç yorum yok