Phalcon\Di\FactoryDefault
Класс Phalcon\Di\FactoryDefault
расширяет класс Phalcon\Di
Реализует ArrayAccess, Phalcon\DiInterface
Это вариант стандартного Phalcon\Di. По умолчанию он автоматически регистрирует все службы, предоставляемые в рамках. Благодаря этому разработчику не нужно регистрировать каждый сервис отдельно, предоставляя полный стек фреймворка
Methods
public __construct ()
Phalcon\Di\FactoryDefault constructor
public setInternalEventsManager (Phalcon\Events\ManagerInterface $eventsManager) унаследовано от Phalcon\Di
Устанавливает внутренний менеджер событий
public getInternalEventsManager () унаследовано от Phalcon\Di
Возвращает внутренний менеджер событий
public set (mixed $name, mixed $definition, [mixed $shared]) унаследовано от Phalcon\Di
Регистрация службы в контейнере служб
public setShared (mixed $name, mixed $definition) унаследовано от Phalcon\Di
Регистрирует "всегда общий" в контейнер услуг
public remove (mixed $name) унаследовано от Phalcon\Di
Удаляет службу из контейнера служб также удаляет все общие экземпляры, созданные для службы
public attempt (mixed $name, mixed $definition, [mixed $shared]) унаследовано от Phalcon\Di
Попытки зарегистрировать службу в контейнере служб успешны только в том случае, если служба ранее не была зарегистрирована с тем же именем
public setRaw (mixed $name, Phalcon\Di\ServiceInterface $rawDefinition) унаследовано от Phalcon\Di
Задает службу с помощью необработанного определения Phalcon\Di\Service
public getRaw (mixed $name) унаследовано от Phalcon\Di
Возвращает определение службы без разрешения
public getService (mixed $name) унаследовано от Phalcon\Di
Возвращает экземпляр Phalcon\Di\Service
public get (mixed $name, [mixed $parameters]) унаследовано от Phalcon\Di
Разрешает службу на основе ее конфигурации
public mixed getShared (string $name, [array $parameters]) унаследовано от Phalcon\Di
Разрешает службу, разрешенная служба хранится в DI, последующие запросы для этой службы вернут тот же экземпляр
public has (mixed $name) унаследовано от Phalcon\Di
Проверяет, содержит ли DI сервис по имени
public wasFreshInstance () унаследовано от Phalcon\Di
Проверьте, является ли последняя служба, полученная через getShared, новым экземпляром или существующим
public getServices () унаследовано от Phalcon\Di
Возврат служб, зарегистрированных в DI
public offsetExists (mixed $name) унаследовано от Phalcon\Di
Проверка регистрации службы с помощью синтаксиса массива
public offsetSet (mixed $name, mixed $definition) унаследовано от Phalcon\Di
Позволяет зарегистрировать общую службу с помощью синтаксиса массива
<?php $di["request"] = new \Phalcon\Http\Request();
public offsetGet (mixed $name) унаследовано от Phalcon\Di
Позволяет получить общий сервис, используя синтаксис массива
<?php var_dump($di["request"]);
public offsetUnset (mixed $name) унаследовано от Phalcon\Di
Удаляет службу из контейнера служб с помощью синтаксиса массива
public __call (mixed $method, [mixed $arguments]) унаследовано от Phalcon\Di
Магический метод получения или установки сервисов с помощью setters / getters
public register (Phalcon\Di\ServiceProviderInterface $provider) унаследовано от Phalcon\Di
Регистрация поставщика сервисов .
<?php use Phalcon\DiInterface; use Phalcon\Di\ServiceProviderInterface; class SomeServiceProvider implements ServiceProviderInterface { public function register(DiInterface $di) { $di->setShared('service', function () { // ... }); } }
public static setDefault (Phalcon\DiInterface $dependencyInjector) унаследовано от Phalcon\Di
Установка контейнера внедрения зависимостей по умолчанию для получения статических методов
public static getDefault () унаследовано от Phalcon\Di
Возврат последнего созданного DI
public static reset () унаследовано от Phalcon\Di
Сбрасывает внутренний DI по умолчанию
public loadFromYaml (mixed $filePath, [array $callbacks]) унаследовано от Phalcon\Di
Загружает службы из файла yaml.
<?php $di->loadFromYaml( "path/services.yaml", [ "!approot" => function ($value) { return dirname(__DIR__) . $value; } ] );
И сервисы могут быть указаны в файле как:
myComponent: className: \Acme\Components\MyComponent shared: true group: className: \Acme\Group arguments: - type: service name: myComponent user: className: \Acme\User
public loadFromPhp (mixed $filePath) унаследовано от Phalcon\Di
Загружает сервисы из конфигурационного файла php.
<?php $di->loadFromPhp("path/services.php");
И сервисы могут быть указаны в файле как:
<?php return [ 'myComponent' => [ 'className' => '\Acme\Components\MyComponent', 'shared' => true, ], 'group' => [ 'className' => '\Acme\Group', 'arguments' => [ [ 'type' => 'service', 'service' => 'myComponent', ], ], ], 'user' => [ 'className' => '\Acme\User', ], ];
protected loadFromConfig (Phalcon\Config $config) унаследовано от Phalcon\Di
Загружает службы из объекта Config.