codito/silex-console-provider

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

Silex 的 CLI 应用程序服务提供商

v2.0.1 2016-12-22 08:36 UTC

This package is auto-updated.

Last update: 2022-02-28 01:08:53 UTC


README

提供基于 Symfony\Component\Console\Application 的 Silex 控制台应用程序。

要求

  • PHP >= 5.4,因为使用了简短数组语法。

安装

将条目添加到 composer.json

"require": {
	"codito/silex-console-provider": "~0.1"
}

或者在项目目录中运行 composer require codito/silex-console-provider ~0.1

配置

在你的 Silex 启动文件中需要注册服务提供商

<?php

use Codito\Silex\Provider\ConsoleServiceProvider;

$app->register(new ConsoleServiceProvider(), array(
    'console.name'              => 'Silex CLI Application',
    'console.version'           => '1.0',
));

?>

然后在你的控制台脚本中可以注册预定义的有用命令

<?php

/* @var $console \Codito\Silex\Console\Application */
$console = $app['console'];

$console->add(new \Codito\Silex\Console\Command\ClearCacheCommand());
$console->add(new \Codito\Silex\Console\Command\RouterDebugCommand());

?>

有关此控制台的基础 Symfony 控制台的信息,请参阅 这里

使用方法

假设你有一个 bin 目录,其中包含 console 可执行文件。调用 bin/console 将显示可用命令列表。然后你可以调用它们中的任何一个,例如

$ bin/console your:command:name

为了使用 cache:clear 命令,必须在应用程序中定义 cache_dir,例如

$app['cache_dir'] = __DIR__ . '/../var/cache';

编写命令

你的命令应扩展 Codito\Silex\Console\Command\AbstractCommand,这是基础(抽象)类,它包含一个方便的方法 getSilexApplication(),该方法返回注册了控制台服务的 Silex 应用程序。

致谢