php için / karşılaştırıcıyı ayrıştırmak

3 Cevap php

I'm pretty much a newbie at php (at the "install an app and try to tweak it a bit" stage). Is there a tool anywhere which can take a script which is spread over many files and show you all the code which is processed (for a given set of arguments passed to the script) in a single output?

Örneğin, ben herhangi bir çevre sayfası olmayan bir kategori listesini döndüren farklı bir dilde, bir script zen cart bir çağrı yapmak istiyorum. Yani fiili süreci o zaman özel bir komut dosyası oluşturmak için tüm istenmeyen bit kapalı şerit oluşturmak için ne izlemek mümkün olmasını istiyorum.

3 Cevap

Yeni / karmaşık codebases bakarken ben çok yararlı buldum bir şey kod zeka çeşit ile bir IDE kullanmaktır. I php eclipse kullanmak, ve ne yapar Hiperlinklemesi aracılığıyla, ya da pop-up'lar yoluyla fonksiyon ve değişken tanımları içine atlamak için izin olduğunu. Eğer elle aramak için tüm sorun üzerinden gitmek zorunda değilsiniz, çünkü bu yayılan projeler gezinmek için son derece yararlı olabilir.

Senin durumunda, php, yapılacak en iyi şey, kategoriler listenizde çeker bir sayfa için bir giriş noktası bulmak. Bunu bulmak sonra, çeşitli işlev yapar onu çağırır dışarı genişletmek için eclipse kullanabilirsiniz. Şeyler yapmanın farklı şekillerde birçok sizi ortaya çıkarır gibi bir acemi olmak, bu şekilde kod aracılığıyla okumak çok yararlı olur. Eclipse gibi bir şey kullanarak ek bir bonus PHP kılavuzu ile entegrasyon sağlamasıdır. Yani ne zaman sen bilmiyorsun bir işlevi karşılaşırsanız, bu bağlamda kullanımının nasıl olacağı da üzerinde gezdirin kılavuzu ve edebilirsiniz.

Ne istediğiniz bilgisayar teorisi literatüründe "backwards slice" ("belirli bir bilgisayarlı sonucu katkıda tüm kod") denir. Geriye dilim hesaplamak için, bir şey, langauge ayrıştırmak programda seçilen bir noktadan tüm etkiler (kontrol ve veri akışı) hesaplamak, ve daha sonra sizin için bu noktaları göstermek gerekiyor.

Dilimleme aletleri (akademik sürümleri gibi) Bunlar Java için var olabilir C gibi langauges için var. Ben PHP için var olduğunu herhangi bilmiyorum.

Another way to discover the code involved in an action is to run a test coverage tool. Such a tool marks all the code (across many files) that gets executed for a specific action (usually a "unit test" but test coverage tools really don't care). Then you simply exercise the action you care about, and look at the test coverage data. A graphical display will make it easy to see what code was executed; the part you want is buried in all the executed code. A PHP Test Coverage tool does exist and will provide nice displays of the covered code.

Bazı tür bir hata ayıklayıcı arıyorsanız, XDebug veya ZendDebugger bakabilirsiniz.