. */ use Monolog\Handler\StreamHandler; use Monolog\Logger; use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface; use SP\Modules\Cli\Commands\BackupCommand; use SP\Modules\Cli\Commands\Crypt\UpdateMasterPasswordCommand; use SP\Modules\Cli\Commands\InstallCommand; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\ArgvInput; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\ConsoleOutput; use Symfony\Component\Console\Output\OutputInterface; use function DI\autowire; use function DI\create; return [ LoggerInterface::class => static function (ContainerInterface $c) { $logger = $c->get(Logger::class); $logger->pushHandler(new StreamHandler(LOG_FILE)); return $logger; }, Application::class => create(Application::class), OutputInterface::class => create(ConsoleOutput::class) ->constructor(OutputInterface::VERBOSITY_NORMAL, true), InputInterface::class => create(ArgvInput::class), InstallCommand::class => autowire(), BackupCommand::class => autowire(), UpdateMasterPasswordCommand::class => autowire() ];