Symfony2 控制台 - 单独使用



我有一个结构如下的小项目:

 -- bin
    -- init.php
 -- app
    -- all app directories here
 -- tests
 -- temp

我已经使用作曲家安装了symfony2控制台捆绑包:

{
    "require": {
        "symfony/console": "2.3.*"
    }
}

它将捆绑包安装到供应商目录中。 因此,我最终得到以下结构:

 -- bin
    -- init.php
 -- app
    -- all app directories here
 -- tests
 -- temp
 -- vendor
    -- composer
    -- symfony
    -- autoload.php

我如何构建东西,以便在bin/init中.php它使用symfony控制台。 本质上,我想创建一个可以从 bin/init 调用的自定义命令.php

一个好的起点始终是控制台组件的文档。

IgorW的composer-yaml可以作为单个文件控制台应用程序的示例。

此外,您可以通过查看作曲家的bin/composer,src/bootstrap.php,src/Console/Application.php以及即src/Command/AboutCommand.php来找到灵感。

只需将作曲家的bin/composersrc/bootstrap.php结合到您的bin/init.php中......

。然后将 PSR-0 自动加载/基本命名空间设置为composer.json中的应用程序文件夹(作曲家的 composer.json)...

....创建app/<vendor>/Command/WhateverCommand.php...

创建app/<vendor>/Console/Application.php(扩展SymfonyComponentConsoleApplication)...

。然后在您的应用程序中注册该命令bin/init.php...

use <vendor>ConsoleApplication;
use <vendor>CommandWhateverCommand;
$application = new Application();
$application->add(new WhateverCommand());

.. 终于run()了应用程序。

$application->run();

如果您只想使用单命令应用程序,请查看文档章节 - 构建单命令应用程序。

相关内容

  • 没有找到相关文章

最新更新