PHP bağımlılıkları bulmak

1 Cevap php

Bir PHP dosyası tarafından kullanılan sınıfların isimlerini listeleyebilirsiniz herhangi bir alet var mı?

Örneğin, bu dosya üzerinde koştu eğer:

<?
class Test {
  public function __construct(Obj1 $x) {
    $y = new Obj2();
    $str = "Obj3";
    $z = new $str();
  }
}
?>

o "Obj1" ve "obj2" bildiriliyordu. Gerçekten akıllı olsaydı o da "obj3" raporu olabilir, ama bu önemli değil.

Ben bazı kod paketlemek çalışıyorum, ve ben bazı yardım ben hiçbir bağımlılıkları özledim vermedi emin istiyorum.

Orada bağımlılıkları sayısını grafiklendirebilir PHP_Depend denilen bir şey, ama ne olduklarını rapor edemez.

UPDATE: Ben gerçek bir çözüm bulamadık, ama benim amaçlar için yeterince yakın bir şey anladım. Bir dosyayı tokenize ve tüm T_STRING simgeleri arayabilirsiniz. Bu, dosyada belirtilen tüm sınıf isimlerini vereceğiz. Aynı zamanda fonksiyon isimleri ve sabitler gibi diğer şeyler verecektir. Sınıf adları (örneğin, onlar ilk kapaklar var) ayırt etmek kolay ama eğer, o zaman bu bir problem olmamalı.

$contents = file_get_contents($path);
$tokens = token_get_all($contents);
foreach ($tokens as $token) {
  if (is_array($token) && $token[0] === T_STRING) {
    echo $token[1]."\n";
  }
}

1 Cevap

Bir PHP çapraz referans belge jeneratör olan PHPXref var.