某些框架有自己的魔术方法名称,例如
$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
}