Класс Phalcon\Di\FactoryDefault

расширяет класс Phalcon\Di

Реализует ArrayAccess, Phalcon\DiInterface

Source on GitHub

Это вариант стандартного 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.