Для получения контейнера PHP-DI в другом месте, не являющемся контроллером, вы можете использовать следующий код:
```php
use DI\ContainerBuilder;
// Создание экземпляра контейнера
$containerBuilder = new ContainerBuilder();
$container = $containerBuilder->build();
// Получение экземпляра класса TransactionsCollection
$transactionsCollection = $container->get(TransactionsCollection::class);
```
При этом, вам нужно убедиться, что класс TransactionsCollection и интерфейс ITransactionsCollection зарегистрированы в контейнере.
Чтобы выполнить внедрение зависимостей для класса TransactionsCollection в PHP-DI, вы можете использовать аннотации или конфигурационный файл контейнера.
Аннотации:
```php
use DI\Annotation\Inject;
class TransactionsCollection implements ITransactionsCollection {
/**
* @Inject
*/
private $dependency;
// ...
}
```
Конфигурационный файл контейнера:
```php
use DI\ContainerBuilder;
$containerBuilder = new ContainerBuilder();
$containerBuilder->addDefinitions('path/to/config.php');
$container = $containerBuilder->build();
```
В файле 'path/to/config.php' вы можете определить зависимости для класса TransactionsCollection:
```php
return [
TransactionsCollection::class => \DI\create()
->constructor(\DI\get('dependency'))
];
```
В этом файле вы можете использовать различные методы PHP-DI для определения зависимостей, такие как `constructor`, `autowire`, `call` и т.д.
После внедрения зависимостей, вы можете получить экземпляр класса TransactionsCollection, как показано в первом примере.