kekos / doctrine-console-factory
帮助您将 Doctrine ORM 和迁移控制台命令添加到自己的 Symfony 控制台应用程序中
v2.0.0
2024-04-15 19:24 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- symfony/console: ^5.0 || ^6.0 || ^7.0
Requires (Dev)
- doctrine/migrations: ^3.0
- doctrine/orm: ^3.0
Conflicts
- doctrine/migrations: <3
- doctrine/orm: <3
README
帮助您将 Doctrine ORM 和迁移控制台命令添加到自己的 Symfony 控制台应用程序。
安装
您可以通过 Composer 安装此包
composer require kekos/doctrine-console-factory
文档
配置
如果您已安装 Doctrine 迁移包,则需要向 DoctrineCommandFactory
提供一个 ConfigurationLoader
。此包提供了一个 MigrationsConfigurationLoader
,它消除了您根目录中的 cli-config.php
文件,并可以在您的依赖注入容器中轻松创建。
<?php // Pseudo container $container->set('doctrine.migrations', [ 'migrations_paths' => [ 'App\\Migrations' => __DIR__ . '/src/Migrations', ], ]); $container->set( Doctrine\Migrations\Configuration\Migration\ConfigurationLoader::class, function($container) { $settings = $container->get('doctrine.migrations'); return new Kekos\DoctrineConsoleFactory\MigrationsConfigurationLoader($settings); } );
用法
创建一个 DoctrineCommandFactory
实例并调用 addCommands()
,可用的 Doctrine ORM 或迁移命令将被添加到您的 Symfony 控制台应用程序中。
<?php $console_app = new Symfony\Component\Console\Application('App', '1.0.0'); // Please let your DI container create the command factory instead! $doctrine_command_factory = new Kekos\DoctrineConsoleFactory\DoctrineCommandFactory( $entity_manager, $configuration_loader ); $doctrine_command_factory->addCommands($console_app); $console_app->run();
错误和改进
在 GitHub 问题中报告错误,或者随时提交拉取请求 :-)
许可证
MIT