Bir fonksiyonun uygulanması, bu durumda PHP nerede nasıl bulabilirim?

4 Cevap php

I was just traversing the workflow of zend framework and cant really find where the function "findByUri()" is located, I found the class it belongs , simply dumping it, but going through the hierarchy of that class(parents , interfaces and so forth) I cant really find it. I found where it is called from

....
 call_user_func_array(
            array($this->getContainer(), $method),
            $arguments);
    ...

ancak (GetContainer () döner class) yok

any Idea, I know u can assign a variable to class simple by $class->someVar =...; But never had done it with class functions... Thanks

4 Cevap

Tüm ZF bu isim ile hiçbir yöntem yoktur. Muhtemelen $this->container bir __call yöntemi kapsamında yapılan bir sihirli erişimcisi bulunuyor. Ben size sağlanan pasajı Zend_View_Helper_Navigation_HelperAbstract dan almak, bu yüzden Zend_Navigation paketine ait sınıfların herhangi olmalıdır.

EDIT
From the ZF Reference Manual on Zend_Navigation containers:

Konteynerler sayfaları almak için bulucu yöntemler var. Onlar findOneBy ($ özellik, $ değer), findAllBy ($ özellik, $ değer), ve findBy ($ tüm = false $ özellik, $ değer) vardır. Bu yöntemler ardışık verilen $ sayfa-> $ özelliğini == $ değer eşleşen sayfalarda için konteyner arayacaktır. O bulunamazsa eğer ilk yöntem, findOneBy (), verilen değeri veya NULL özelliğini eşleşen tek bir sayfa dönecektir. İkinci yöntem verilen değeri uyan bir özelliği ile tüm sayfaları dönecektir. Üçüncü yöntem $ tüm bayrağı bağlı iki eski yöntemlerden birini arayacak.

Bulucu yöntemleri de örneğin findBy, findOneBy veya findAllBy, için özellik adını ekleyerek sihirli kullanılabilir findOneByLabel ('Home') etiketi Home ile eşleşen ilk sayfasına dönmek için. Diğer kombinasyonlar Finder yöntemler de böyle findByFoo ('bar') gibi özel özellikleri, üzerinde çalışmak vb findByLabel (...), findOnyByTitle (...), findAllByController (...) vardır.

I Agent Ransack benim değil codebases arama için kullanabilirsiniz. Bu dize arıyor olurdum:

"function findByUri"

grep senin arkadaşın.

Bir kabuk:

grep -ir "function findByUri" .

Grep komutu hakkında daha fazla bilgi:

http://unixhelp.ed.ac.uk/CGI/man-cgi?grep

Gerçekten aradığınız bir fonksiyonun uygulanması ise, o bir PHP IDE için ne söyleyebilirim. Bir fonksiyon tanımlanmıştır Her yerde iyi bir PHP IDE öğrenebilirsiniz.

İlgili: Any good PHP IDE, preferably free or cheap?