Burada PHP sınıf mirası grafiğini için basit bir yoludur.
Sınıf tanımları ve sonra DOT sözdizimi grep Çıktı dönüşümü için grep. NOT: Bu işlem sizin durumunuzda deneme yanılma gerektirir OLACAKTIR. Ayrı grep çalıştırın ve komut koymadan önce doğru sınıf tanımı satırları göstermek için çimdik!
Bu script graphviz yüklü, (Ben Ubuntu kullanılan) standart * nix üzerinde PHP için oldu, ve ben bir CakePHP kod temeli bakıyordu çünkü hiç ilgi vardı bazı dizinleri dışlamak için grep-v kullanarak. FDP bu durumda sfdp, nokta, circo daha iyi veya daha neato çalıştı.
GenerateClassHierarchy.sh Oluştur
#!/bin/bash
echo 'digraph code {' > code.dot;
grep -r "^class " * | grep -v "^app/vendors" | grep -v "^cake/" | grep -v "Binary file" | sed 's/.*://' | sed 's/class / /' | sed 's/ extends / -> /' | sed 's/ implements .*//' | sed 's/ \?{.*$//' | sort >> code.dot
echo '}' >> code.dot;
fdp -Tpng -ocode.fdp.png code.dot 2> /dev/null # Ignore syntax error
echo "OK";
Sonra sadece:
cd /var/www/my_app/ # or wherever
bash ~/shell/generateClassHierarchy.sh # or wherever
eog code.fdp.png
Tercih resim görüntüleyici ile EOG değiştirin. Ben bir test olarak Zend Framework bu çalıştırın ve bir 22 megabayt PNG grafiği üretti. Sadece Zend_Db'nin üzerinde çalışan size gösteren bu (örnek benim sitede):
http://chapman.id.au/generate-php-class-inheritance-diagrams-in-graphviz