我有一个具有以下结构的小项目:
-- 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
调用的自定义命令答案 0 :(得分:0)
一个好的起点始终是documentation of the console component。
IgorW的composer-yaml可以作为单个文件控制台应用程序的示例。
此外,您可以通过查看作曲家的bin/composer,src/bootstrap.php,src/Console/Application.php和src/Command/AboutCommand.php找到灵感。
只需将作曲家的bin/composer
和src/bootstrap.php
合并到您的bin/init.php
...
...然后将PSR-0自动加载/基本命名空间设置为composer.json
(composer'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。