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
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.