Это просто ссылка на экземпляр объекта, поэтому вам нужно просто добавить методы и свойства к рассматриваемому классу. Например:
class MyController extends Zend_Controller_Action
{
protected $api = null;
public function init()
{
$this->api = new ApiClass();
}
public function indexAction()
{
$this->api->user()->details();
}
}
Конечно, это, вероятно, не лучший способ для этого. Я бы, наверное, поставил апи как загрузочный ресурс, и в этом случае Youd сделать:
class MyController extends Zend_Controller_Action
{
public function indexAction()
{
$this->getApi()->user()->details();
}
public function getApi()
{
return $this->getInvokeArg('bootstrap')->api;
}
}
Спасибо - это, наверное, лучший ответ, который подходит моему вопросу. Я рад сделать ресурс Bootstrap, но как я могу сделать класс Autoloader как есть? Поэтому я мог бы вызывать $ this-> api-> className-> Method, не создавая файл api.php, который бы наследовал все классы и методы? Должен быть умный/автоматический способ, конечно? – Sjwdavies
Ну, вы, холодный, создаете свою собственную инфраструктуру в классе API, или oyu может использовать ['Zend_Loader_PluginLoader'] (http://framework.zend.com/manual/en/zend.loader.pluginloader.html), но вам все равно нужно будет создайте все классы, которые API будет использовать. Это действительно должен быть новый вопрос, поскольку он действительно полностью отделен от этого. – prodigitalson
Спасибо, я не думаю, что вы знаете какие-либо ссылки на какие-либо примеры (кроме тех, которые вы включили)? У меня есть все классы, уже созданные в папке/application/api. – Sjwdavies