1
我寫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);
資源/ product.php文件包括,創建產品對象並調用適當的方法。這是一個做延遲加載的正確方法嗎?有沒有更好的方法來實現API?
您可以使用PHP的本地自動加載功能更加簡化它,請參閱http://php.net/manual/en/language.oop5.autoload.php –
您不僅可以用@Peka的建議來簡化此操作,但你*應該*確實這樣做,因爲集中式自動加載器更容易維護。 – Gordon
我正在使用的框架已經自動加載,我不覺得修改它很舒服。 – arnaslu