如何创建自己的PHP魔术方法名称?

Ráp*_*rás 2 php magic-methods

有些框架有自己的魔术方法名称,例如

$player->findByName('Lionel Messi')
Run Code Online (Sandbox Code Playgroud)

这导致简单的SELECT * FROM players WHERE name='Lionel Messi'查询.在PHP中我如何制作类似的方法?他们以某种方式抓住了全球MethodNotFoundException吗?

Bog*_*rym 8

使用__call魔法.在文档中阅读更多相关信息,这就是您所需要的.

http://php.net/manual/en/language.oop5.magic.php

public function __call($name, $args) {
    // TODO: Parse called method name and run query if needed
}
Run Code Online (Sandbox Code Playgroud)