Proxy
Описание
с версии 0.6.0
Пакет прокси обеспечивает ленивую инициализацию пакетов с возможностью их дальнейшего использования посредством статического вызова
Настройка
Нет
Использование
На примере пакета Acl, представляет он из себя класс с одним методом:
class Acl { use Options; public function isAllowed($module, $privilege) { /* ... */ } }
Теперь создаём для него Proxy:
namespace Bluz\Proxy; use Bluz\Acl\Acl as Instance; class Acl { use ProxyTrait; protected static function initInstance() { return new Instance(); } }
Всё, можно пользоваться:
use Bluz\Proxy\Acl; Acl::isAllowed('news', 'edit');
При необходимости, можно установить или получить непосредственный объект, над которым создана обёртка, для этого существуют следующие методы:
getInstance()setInstance($instance)