Container
Методы
Контейнер сервисов является источником инстансов сервисов в новом API CRM.
При этом он и сам является сервисом.
Экземпляр этого сервиса (как и большинства других) содержится в DI\ServiceLocator.
При желании можно переопределить контейнер для модификации бизнес-логики, без внесения изменений в ядро продукта.
Метод | Описание | С версии |
---|---|---|
public static function getInstance(): Container |
Метод возвращает инстанс контейнера. | |
public static function getIdentifierByClassName (string $className, array $parameters = null): string |
Метод возвращает строковый идентификатор для ServiceLocator по названию класса и дополнительным строковым параметрам. | |
public function getFactory(int $entityTypeId): ?Factory |
Метод возвращает инстанс фабрики для типа $entityTypeId , если она есть.
Не для всех типов сущностей есть фабрики. Также не будет фабрики, если передать entityTypeId несуществующего смарт-процесса. | |
public function getDynamicFactoryByType(Type $type): Dynamic |
Метод возвращает инстанс фабрики смарт-процесса для orm-объекта. | |
public function getUserPermissions (?int $userId = null): UserPermissions |
Метод возвращает инстанс сервиса прав доступа для пользователя с id $userId.
Если $userId не указан, то права доступа будут получены из глобального контекста. | |
public function getType(int $id): ?Type |
Метод вернет orm-объект смарт-процесса по его $id. Обратите внимание, здесь колонка именно ID, а не ENTITY_TYPE_ID . | |
public function getType(int $id): ?Type |
Метод вернет orm-объект смарт-процесса по его $id. Обратите внимание, здесь колонка именно ID, а не ENTITY_TYPE_ID . | |
public function getTypeByEntityTypeId (int $entityTypeId): ?Type |
Метод вернет orm-объект смарт-процесса по его $entityTypeId. Обратите внимание, здесь колонка именно ENTITY_TYPE_ID . | |
public function getLocalization(): Localization |
Метод вернет инстанс сервиса локализации. | |
public function getRouter(): Router |
Метод вернет инстанс сервиса роутинга. | |
public function getContext(): Context |
Метод вернет инстанс глобального контекста. | |
public function getOrmObjectConverter(): Converter\OrmObject |
Метод вернет инстанс конвертера орм-объектов. | |
public function getItemConverter(): Converter\Item |
Метод вернет инстанс конвертера элементов. | |
public function getStageConverter(): Converter\Stage |
Метод вернет инстанс конвертера стадий. | |
public function getTypeConverter(): Converter\Type |
Метод вернет инстанс конвертера смарт-процессов. | |
public function getUserBroker(): Broker\User |
Метод вернет инстанс брокера пользователей. | |
public function getCompanyBroker(): Broker\Company |
Метод вернет инстанс брокера компаний. | |
public function getContactBroker(): Broker\Contact |
Метод вернет инстанс брокера контактов. | |
public function getDirector(): Director |
Метод вернет инстанс сервиса запуска сценариев. | |
public function getDynamicTypeDataClass(): string |
Метод вернет таблет смарт-процессов. | |
public function getEventHistory(): EventHistory |
Метод вернет инстанс сервиса истории. | |
public function getTypesMap(): TypesMap |
Метод вернет инстанс карты типов CRM. | |
public function getDynamicTypesMap(): DynamicTypesMap |
Метод вернет инстанс карты смарт-процессов. | |
public function getRelationManager(): RelationManager |
Метод вернет инстанс менеджера связей. | |
public function getTypePresetBroker(): Broker\TypePreset |
Метод вернет брокер пресетов смарт-процессов. | |
public function getParentFieldManager(): ParentFieldManager |
Метод вернет менеджер полей связей. | |
public function getPullManager(): PullManager |
Метод вернет менеджер пушей. | |
public function getFilterFactory(): Filter\Factory |
Метод вернет фабрику классов при работе с фильтром. | |
public function getAccounting(): Accounting |
Метод вернет сервис расчетов сумм. | |
public function getFileUploader(): FileUploader |
Метод вернет сервис загрузки файлов. |
Пример
use Bitrix\Crm\Service; $container = Service\Container::getInstance (); $router = $container->getRouter(); // идентично // $router = DI\ServiceLocator::getInstance()->get('crm.service.router'); $entityTypeId = \CCrmOwnerType::Deal; $factory = $container->getFactory($entityTypeId ); if (!$factory) { echo 'factory not found' ; }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024