Önerilmeyişine için işaretlenmiş fonksiyonların kullanımını aşağı izleme

2 Cevap php

Bu konuya aşağıdaki: How to handle functions deprecation in library? Ben bu yüzden ben onları fonksiyonu kaldırılır önce değiştirilen tüm almak emin olabilirsiniz kalktı işlevi tüm aramaları izlemek için bir yol bulmak istiyorum. Aşağıdaki PHP yöntemleri verilmektedir

/*
   @deprecated - just use getBar()
*/
function getFoo(){
    return getBar();
}

function getBar(){
    return "bar";
}

Ben bunu yaparken aşağıdaki yöntemi ile geldi ve ben geribildirim için arıyorum.

function getFoo(){
    try{
        throw new Exception("Deprecated function used"); 
    } catch(Exception $e){
         //Log the Exception with stack trace
         ....
         // return value as normal
         return getBar();
    }
}

2 Cevap

PHPs iç önerilmeyen işlevler için, sadece error_reporting için E_STRICT ekleyin.

Userland fonksiyonları Bildirimi yükseltmek veya onaylanmaz işlevleri hakkında uyarı için, ben örneğin, @deprecated açıklama da tetikleyen bir E_USER_DEPRECATED uyarı eklemek için zaman aldı geliştirici öneririm

function getFoo(){
    trigger_error(__FUNCTION__ . 'is deprecated', E_USER_DEPRECATED );
    return getBar();
}

Ben kod içeriyorsa available QA tools otomatik olarak algılayabilir Artık kullanılmayan yöntem çağrıları varsa farkında değilim. Bunlar olsa iyi bahis vardır.

Eğer% 100 kod kapsama ile TDD kullanıyorsanız önerilmiyor yöntemleri veya işlevleri kaldırma konusunda endişe etmesine gerek yoktur. Sizin otomatik testler sadece başarısız olur ve nereye bakılacağını bilmek olacaktır.

Aslında çağrıldığını kalktı işlevine dayanarak tehlikeli - size bir şey kaçırmayın emin olmak için% 100 kod kapsama olurdu. Bu yavaş yavaş tam bir geçiş için yeterince iyi önerilmemektedir işlevleri tüm aramaları bulma ve onları tek tek yerine, ama tüm doğru.

I-File> Search in Files düşünmek

IDE en iyi bahis bildiğim PHP için çevresinde hiç iyi üstlenmeden araç da vardır, olduğunu.

Afterthought: Belki PhpXRef çözümdür.