-
Notifications
You must be signed in to change notification settings - Fork 39
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)
Acl
Application
Auth
Cache
Common
— Exception
— Collection
— Container
— Helper
— Options
— Singleton
Config
Controller
— Data
— Mapper
—— Crud
—— Rest
— Reflection
Crud
— Crud Table
Db
— Row
— Table
— Relations
— Query
Debug
EventManager
Grid
Http
Layout
Logger
Mailer
Messages
Nil
Proxy
Registry
Request
Response
Router
Session
Translator
Validator
View