Nasıl PHP dosya aslında kullanıldığı anlatmak ve hangi değil mi?

6 Cevap php

Ben şimdi dikkat çekmek üzereyim büyük bir PHP web sitesi var. O ayrı PHP dosyaları yüzlerce içerir, ama yarısından az sadece gerçekten şüpheleniyorsanız kullanılıyor. Çoğu muhtemelen silinebilir.

Ama gerçekten yapmak istediğim son şey ... vb gerekli, dahil her dosyanın kod geçiyor ve bağlı kontrol edilir başkalarına ya da olmadığını güvenle silinebilir.

Bunu yapma yeteneğine sahip herhangi bir araç var olup olmadığını biliyor musunuz?

6 Cevap

Otomatik aracı ile kod analiz ile sorun birbiriyle bağlantı dosyaları toplu halde bulabilirsiniz olduğunu, ancak dosyaların toplu asla kullanılmamaktadır. Tersine, orada doğrudan erişilen bir dosya olabilir, ama diğer dosyaları kullanmak değildir, ne de herhangi bir başka dosyalar tarafından dahil edilmiştir.

Genellikle ben ne, çaresizlik içinde, her bir dosyanın günlüğünü ekleyin. Basit yazma __FILE__ dosya erişilen bir günlük dosyasına. Bu yönüyle yükü eklese. Ama belli bir süre sonra, daha sonra dosyalar listeniz aslında erişilen ve kullanılan vardır var.

Ayrıca düzenli olarak günlük dosyasını analiz ve bildiğiniz dosyaları günlüğünü kaldırmak olabilir gitmek gibi yükünü azaltarak, kullanılır. Sonunda, hala olanları kullanılan henüz hangi görmek için günlük kodu olan dosyaları arayabilirsiniz.

phpcd bakabilirsiniz

phpdcd PHP kodu için bir Dead Code Dedektörü (DCD) olduğunu. Tüm bildirilen işlevleri ve yöntemleri için bir PHP proje tarar ve en az bir kez aramadı "ölü kod" olarak bu raporlar.

Ama ondan herhangi bir harikalar beklemeyin.

If you use a test coverage tool, it will tell which ones are definitely used, for whatever functionality of the software you have exercised. (Obviously, the more you exercise the software, the more of it gets executed by the non-dead part.). This includes any file accessible via an external html link; of course, you have to exercise that link, as it is part of your application functionality.

O zaman durum gerçekten ne karar verirsiniz kullanılmaz diyor olanları kontrol edebilirsiniz.

Bizim SD PHP Test Coverage tool Eğer kontrol etmek isteyen all dosyaların bir listesini kabul ve kolayca bu test kapsamı veri toplamak sağlayacaktır. Bu dosya hiç bir kapsama sahip bir özet rapor gösteren sağlar; 0% kapsama sahip olanlar muhtemelen ölmüş olanlardır.

Bunu başarmak için birden fazla yolu vardır, ama hepsi bazı el işi içerecektir.

Muhtemelen en iyi yüklemek ve size içlerinden tıklayınız olarak PHP hareket yolunu gösterebilir (Xdebug gibi) bir hata ayıklayıcı kullanabilirsiniz.

Another way is to write a script that matches on 'include', 'include_once', 'require', 'require_once'. Possibly check for 'eval' and 'fopen', 'file_get_contents' etc too. Make sure you test / backup.

Sen __ construct METHODE kullanımı ve kullanıldığı eğer oturum açabilirsiniz. Sen bir örneğini oluşturduktan sonra __ construct METHODE ayarlanamaz. Bunu el ekleyebilirsiniz;

class Someclass{
private $clsName;
public function __construct(){
$this->clsName = get_class($this);
YourStaticLogger::yourlogFunction("whatever you want to log" . $this->clsName);
}
//other things
}

Sadece denilen sınıfları izleyebilirsiniz. Yani ben öyle yapardım.