knplabs / console-service-provider
此包已被弃用且不再维护。未建议替代包。
Silex 的控制台服务提供商
v2.2.0
2018-02-05 03:09 UTC
Requires
- php: >=5.5.9
- silex/silex: ~2.0
- symfony/console: ^2.3|^3.0|^4.0
Requires (Dev)
- symfony/monolog-bridge: ^3.2|^4.0
- symfony/phpunit-bridge: ^3.2|^4.0
- symfony/twig-bridge: ~2.8|^3.0|^4.0
- symfony/web-server-bundle: ^3.3|^4.0
- symfony/yaml: ^2.8|^3.0|^4.0
- twig/twig: ~1.27|~2.0
This package is not auto-updated.
Last update: 2022-10-06 23:30:37 UTC
README
遗憾的是,我们决定不再维护此项目(查看原因)。如果您想将另一个包标记为替代此包,请发送电子邮件至 hello@knplabs.com。
ConsoleServiceProvider
提供基于 Symfony\Component\Console
的 Silex 2.x 控制台。
安装
将 knplabs/console-service-provider
添加到您的 composer.json
并注册服务提供者
composer require knplabs/console-service-provider
use Knp\Provider\ConsoleServiceProvider; $app->register(new ConsoleServiceProvider());
现在,您可以将 console
可执行文件从 bin
文件夹复制到您认为合适的位置,并根据需要对其进行调整。
您需要一种方法来获取您的 Silex 应用程序,最常见的方法是从您的引导文件中返回它
use Knp\Provider\ConsoleServiceProvider; use Silex\Application; $app = new Application(); $app->register(new ConsoleServiceProvider()); $app->register(new SomeOtherServiceProvider()); return $app;
在本文档的其余部分,我们将假设您确实有一个 bin
目录,因此 console
可执行文件将位于 bin/console
。
使用
就像任何基于 Symfony\Component\Console
的控制台一样使用控制台
$ bin/console my:command
或在 Windows 上
$ php bin/console my:command
配置参数
参数 | 默认值 | 描述 |
---|---|---|
console.name (字符串) |
Silex 控制台 | 您控制台应用程序的名称 |
console.version (字符串) |
未知 | 您控制台应用程序的版本 |
console.project_directory (字符串) |
(自动检测) | 您项目的目录路径。默认值应该适用,假设提供者在 vendor/knplabs/console-service-provider 中安装 |
console.class (字符串) |
Knp\Console\Application | 控制台服务的类名 |
console.boot_in_constructor (布尔值) |
false | 控制台在加载时是否应引导 Silex(如果依赖于 2.1 中修复的错误,则将其设置为 true ) |
console.command.ids (数组) |
array() | 注册为服务的控制台命令 |
默认命令
如果安装了相应的 Symfony 组件,服务提供者将注册以下命令
- 来自
symfony/twig-bridge
的lint:twig
和debug:twig
命令 - 来自
symfony/yaml
的lint:yaml
命令
Web-server-bundle 支持
WebServerServiceProvider
将注册 symfony/web-server-bundle
提供的命令。
$app = new Silex\Application(); $app->register(new Knp\Provider\ConsoleServiceProvider()); $app->register(new Knp\Provider\WebServerServiceProvider(), array( // Folder that contains your front controller/public files 'web_server.document_root' => __DIR__.'/../public', ));
服务器命令期望您的入口控制器位于文档根目录中,并且命名为app_dev.php
、app.php
、index_dev.php
或index.php
。
如需更多信息,请参阅Symfony文档。