У меня есть класс CommentaryServiceImpl, который должен взаимодействовать с классом UserServiceBitrix, который реализует интерфейс UserService. Простой способ избежать прямой зависимости, это кинуть реализацию через конструктор, но придется постоянно этим заниматься. Есть ли аналог аннотации @Autowired, и как ее использовать на своих классах? В документации отыскал только это: https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=21162
Выражу в коде свои желания:
Код
// settings.php
return [
'AutowireAlias' => [ 'UserService' => 'UserServiceBitrix' ]
];
// commentaryserviceimpl.php
class CommentaryServiceImpl {
/** @Autowired */
protected UserService $userService; // При создании CommentaryServiceImpl здесь будет UserServiceBitrix
}