Symfony2控制台 - 单独使用

时间:2013-10-04 12:22:55

标签: php symfony composer-php

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

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

我使用composer安装了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

调用的自定义命令

1 个答案:

答案 0 :(得分:0)

一个好的起点始终是documentation of the console component

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

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

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

...然后将PSR-0自动加载/基本命名空间设置为composer.jsoncomposer's composer.json)中的app文件夹......

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

创建app/<vendor>/Console/Application.php(扩展Symfony\Component\Console\Application)...

...然后在bin/init.php ...

中将您的应用程序注册到该命令
use <vendor>\Console\Application;
use <vendor>\Command\WhateverCommand;

$application = new Application();
$application->add(new WhateverCommand());

..最后run()申请。

$application->run();

如果您只想让单命令应用程序查看文档章节 - Building a Single Command application