2013-10-04 3 views
0

У меня есть небольшой проект со следующей структурой: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 

Как я структурировать таким образом, чтобы в бункере/init.php это использует консоль Symfony. По сути, я хочу создать единую пользовательскую команду, которую можно вызывать из bin/init.php

ответ

0

Хорошей отправной точкой является всегда documentation of the console component.

IgorW's 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/<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.

Смежные вопросы