Я думаю, что
$this->Five->load->library('library_name');
будет вашим лучшим вариантом, если вы не решите, чтобы класс расширял вспомогательный класс. AKA
class Something extends Helper_Class
Однако это означает, что Helper_Class
создается каждый раз, когда вы создаете экземпляр класса.
Другим методом может быть псевдостатический класс, который назначит все вспомогательные классы членам класса
public function setGlobals($five)
{
$this->loader = $five->loader;
}
Тогда просто назовите это
public function __construct($five)
{
someClass::setGlobals($five);
}
Если $Five
является глобальным, вы можете просто global $Five
каждый раз, когда захотите его использовать, но ставить его во главе каждой функции просто кажется плохим кодированием.
Кроме того, я просто хотел бы сделать мое публичное объявление о том, что глобальные переменные, как правило, являются плохой идеей, и вы можете искать «Внедрение зависимостей» или альтернативу глобальным переменным. AKA
public function __construct($five);
вместо
global $five;
Глобальные переменные полагаются на внешнюю переменную, которая должна присутствовать и уже установлена, в то время как внедрение зависимостей запрашивает переменную, которая, как предполагается, является экземпляром класса Five.
Если вы используете PHP 5.1 (спасибо Гордон), вы можете убедиться, что переменная является экземпляром FiveClass
, выполнив следующее:
public function__construct(FiveClass $five);