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


How to create my own PHP magic method names?

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

$player->findByName('Lionel Messi')

这将导致一个简单的SELECT * FROM players WHERE name='Lionel Messi'查询。在 PHP 中,我怎样才能制作类似的方法?他们是否以某种方式抓住了全球MethodNotFoundException

使用__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
}