Ленивая загрузка, я делаю это правильно? - PullRequest
1 голос
/ 22 октября 2011

Я пишу реализацию 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?

1 Ответ

0 голосов
/ 22 октября 2011

Вы можете добавить свой собственный автозагрузчик впоследствии.Если «первый» автозагрузчик не находит файл, возможно, у вас есть вторая логика или третий ... spl_autoload_register ();@ http://www.php.net/manual/en/function.spl-autoload-register.php

В этой ситуации вам не нужно заботиться о своем автозагрузчике фреймворков / приложений.

...