corpnet/console

Silex 的 console 服务提供者

v2.1.0 2017-07-18 01:00 UTC

This package is not auto-updated.

Last update: 2024-09-21 17:19:43 UTC


README

为 Silex 2.x 提供 Symfony\Component\Console 基础的控制台。

安装

knplabs/console-service-provider 添加到您的 composer.json 并注册服务提供者

composer require knplabs/console-service-provider
use Knp\Provider\ConsoleServiceProvider;

$app->register(new ConsoleServiceProvider());

现在您可以复制 bin 文件夹中的 console 可执行文件到您认为合适的位置,并根据您的需求进行修改。

您需要一种方式来获取您的 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

配置参数

默认命令

如果安装了相应的 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 文档

食谱