1

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

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

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

4

1 回答 1

2

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

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

PHP 文档在这里:

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

于 2013-05-30T19:50:33.693 回答