Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这种情况下,如何在PHP中找到函数实现的位置?_Php_Oop_Class_Function - Fatal编程技术网

在这种情况下,如何在PHP中找到函数实现的位置?

在这种情况下,如何在PHP中找到函数实现的位置?,php,oop,class,function,Php,Oop,Class,Function,我只是遍历zend framework的工作流,无法真正找到函数“findByUri()”的位置,我找到了它所属的类,只是简单地将其转储,但通过该类的层次结构(父类、接口等),我无法真正找到它。 我找到了它的来源 .... call_user_func_array( array($this->getContainer(), $method), $arguments); ... 但它不在其中(GetContainer()返回的类)

我只是遍历zend framework的工作流,无法真正找到函数“findByUri()”的位置,我找到了它所属的类,只是简单地将其转储,但通过该类的层次结构(父类、接口等),我无法真正找到它。 我找到了它的来源

....
 call_user_func_array(
            array($this->getContainer(), $method),
            $arguments);
    ...
但它不在其中(GetContainer()返回的类)

任何想法,我知道你可以通过$class->someVar=…,为简单类分配一个变量。。。; 但从未用类函数实现过。。。 谢谢

我过去常常搜索不属于我自己的代码库。您将查找以下字符串:

"function findByUri"

grep是你的朋友

从外壳:

grep -ir "function findByUri" .
有关grep命令的详细信息:


如果它真的是您正在寻找的函数的实现,我会说这就是PHP IDE的用途。每个像样的PHP IDE都可以找到函数的定义位置


相关:

在整个ZF中没有使用此名称的方法。它可能是在
$this->container
\u调用
方法中完成的神奇访问器。我认为您提供的代码片段来自
Zend\u View\u Helper\u Navigation\u HelperAbstract
,因此它应该是属于
Zend\u Navigation
包的任何类

编辑
从:

容器具有用于检索页面的查找器方法。它们是findOneBy($property,$value)、findAllBy($property,$value)和findBy($property,$value,$all=false)。这些方法将递归地在容器中搜索与给定$page->$property==$value匹配的页面。第一个方法findOneBy()将返回一个将属性与给定值匹配的页面,如果找不到,则返回NULL。第二个方法将返回属性与给定值匹配的所有页面。第三种方法将根据$all标志调用前两种方法之一

finder方法还可以通过将属性名附加到findBy、findOneBy或findAllBy(例如findOneByLabel('Home')来神奇地使用,以返回带有标签Home的第一个匹配页面。其他组合有findByLabel(…)、findOnyByTitle(…)、findAllByController(…)等。Finder方法也适用于自定义属性,例如findByFoo('bar')


欢迎来到SO。我不明白你的问题到底是什么,是标题中的问题还是最后一段中的问题?如果你在ZF中提供文件名,事情会变得更容易。谢谢Gordon,对不起,我是个糟糕的函数在一个单元中多问一个问题,呵呵,我发现这是因为_调用和magic heheAny half-Delegate IDE允许搜索代码库,还支持Ctrl单击方法调用打开它的声明文件。nea它必须与动态分配函数有关,我肯定不是there@Gordon我们中的一些人更喜欢记事本+,没有必要对你的编程习惯满不在乎。事情发生在IDE中,在类中没有这样的方法,只有“findBy()”,所以我想有没有办法重写函数名?我现在听起来很傻,虽然我不是真正的新手=)我再次使用Zend studio,我也不是真正的新手,但找不到函数实现,我认为会去谷歌覆盖任何函数名,谢谢是的,是的,是“u call()”是在Zend_导航对象上调用$method=findByUri的函数,魔法存取器-让我读一下。我知道这里面有魔力,呵呵thanks@simple如果您想确定,请在代码上运行XDebug或Zend Debugger以查看发生了什么。在手册中“请记住,当您的类有一个_call()函数时,它将在PHP调用其他一些神奇函数时使用”谢谢,就是这样,我以前从未使用过神奇函数hehe,对不起,我滥用了我愚蠢的权利。@simple我在答案中添加了ZF手册中相应的部分