当我在这里发布这个问题时,我想也许我正在失去理智,或只是有一个高级时刻。但后来我找到了答案,我在下面发布,希望能帮助其他遇到此问题的人。
我正在使用FluentPDO库(https://github.com/lichtner/fluentpdo)。我正在推动其功能的极限,文档有点缺乏。所以我开始查看代码。我找不到SelectQuery :: select()函数的实现,即使文档提到它,我也可以使用它,并且它在内部使用。
如果没有声明或实现,函数或方法如何存在?
答案 0 :(得分:2)
答案在于PHP不寻常的“重载”方法。
如果方法未定义,但该类包含__call()方法,则将调用__call(),并传递方法名称及其参数。这就是FluentPDO用于其某些方法的内容。
PHP文档在这里:
http://www.php.net/manual/en/language.oop5.overloading.php#object.call