PHP4 kaynağa önerilmiyor fonksiyonları vurgulamak için Araçlar?

3 Cevap php

I PHP5 önerilmiyor fonksiyonları vurgulamak için PHP4 için yazılmış kaynak kodunu taramak için kullanabileceğiniz herhangi bir sihirli araçlar var mı? Ben şu anda bir sunucuda PHP'nin en son sürümünü çalıştıran ve liman için bu koda ihtiyacınız var. Bana bir el verebilir orada bir şey var mı?

3 Cevap

PHP 5.3 bunları göstermek düzeyleri rapor Hatanızı ayarlarsanız, bir E_DEPRECATED uyarı atmak olacaktır.

Ben böyle bir şey kendimi yapmak istedim. Bu listeyi kullanarak deprecated features in PHP 5.3.x, ben bu fonksiyonların herhangi bir kullanım aramak için bir regex yaptı:

(?i:(call_user_method\(|call_user_method_array\(|define_syslog_variables\(|dl\(|ereg\(|ereg_replace\(|eregi\(|eregi_replace\(|set_magic_quotes_runtime\(|session_register\(|session_unregister\(|session_is_registered\(|set_socket_blocking\(|split\(|spliti\(|sql_regcase\(|mysql_db_query\(|mysql_escape_string\())

(Case insensitive, with each function name including the opening parenthesis just to avoid false positives; "dl" would bring up lots of noise otherwise.)

Eğer find ve grep, sonra sadece böyle bir şey yürütebilir ile bir sistemde iseniz:

find <directory to search> -type f -name '*.php' -exec grep -R -P -H "<above regex>" {} \;

Sadece daha somut bir örnek yapmak için, ben sadece şu kullandı:

find htdocs -type f -name '*.php' -exec grep -R -P -H "(?i:(call_user_method\(|call_user_method_array\(|define_syslog_variables\(|dl\(|ereg\(|ereg_replace\(|eregi\(|eregi_replace\(|set_magic_quotes_runtime\(|session_register\(|session_unregister\(|session_is_registered\(|set_socket_blocking\(|split\(|spliti\(|sql_regcase\(|mysql_db_query\(|mysql_escape_string\())" {} \;

Ben şimdi session_register ve session_unregister bir kaç örneklerini kendimi değiştirmem gerekiyor gibi görünüyor!

Şey aynı tür Onaylanmayan INI direktifleri ve parametreler için yapılabilir.

appendices of the manual, bazı geçiş bilgiler içeriyor ama ben sizin aradığınızı içeren sanmıyorum.

Tek yönlü (yanlış olabilir ama kullanılan olabilir ki) ben düşündüm her PHP indirme dahil news.txt oldu. Ben bu dosyayı ve önerilmeyen fonksiyonları kontrol ben eklemek bir şey olabilir ayrıştırır writing a script atm değilim. Atm başka bir proje üzerinde çalışıyorum ama ben daha büyük yeniden inşa sürümünde bu için işlevsellik eklemek istiyorum.