未明确定义或实施时,如何存在方法?

时间:2013-05-30 19:50:34

标签: php

当我在这里发布这个问题时,我想也许我正在失去理智,或只是有一个高级时刻。但后来我找到了答案,我在下面发布,希望能帮助其他遇到此问题的人。

我正在使用FluentPDO库(https://github.com/lichtner/fluentpdo)。我正在推动其功能的极限,文档有点缺乏。所以我开始查看代码。我找不到SelectQuery :: select()函数的实现,即使文档提到它,我也可以使用它,并且它在内部使用。

如果没有声明或实现,函数或方法如何存在?

1 个答案:

答案 0 :(得分:2)

答案在于PHP不寻常的“重载”方法。

如果方法未定义,但该类包含__call()方法,则将调用__call(),并传递方法名称及其参数。这就是FluentPDO用于其某些方法的内容。

PHP文档在这里:

http://www.php.net/manual/en/language.oop5.overloading.php#object.call