knplabs/console-service-provider

此包已被弃用且不再维护。未建议替代包。

Silex 的控制台服务提供商

v2.2.0 2018-02-05 03:09 UTC

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-bridgelint:twigdebug:twig 命令
  • 来自 symfony/yamllint: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.phpapp.phpindex_dev.phpindex.php

如需更多信息,请参阅Symfony文档

食谱