我正在编写API实现,而我的主API类具有__call()魔术方法:
public function __call($name, $params)
{
if (in_array($name, $this->resources))
{
require_once APPPATH . 'resources' . DIRECTORY_SEPARATOR . $name . '.php';
$class_name = ucfirst($name);
return new $class_name($params);
}
}
所以基本上在我的应用程序中,如果我写
$api->product()->get($product_id);
// or
$api->product()->post($product);
包含resources / product.php文件,创建Product对象并调用适当的方法。这是否是一种正确的延迟加载方式,是否有更好的方法来实现API?
答案 0 :(得分:0)
之后您可以添加自己的自动加载器。如果“第一”自动加载器找不到文件,你可能有第二个逻辑或第三个...... spl_autoload_register(); @http://www.php.net/manual/en/function.spl-autoload-register.php
在这种情况下,您不必关心框架/应用程序自动加载器。