Создайте другой тип классов через Symfony / Console - PullRequest
0 голосов
/ 20 мая 2019

Я настроил консоль Symfony в пользовательском приложении php (не в приложении Symfony, просто использую компонент вне Symfony) и создал файл app в моем корневом каталоге

#!/usr/bin/env php
<?php
// Include framework's dependencies through composer's autoload feature
require __DIR__ . '/vendor/autoload.php';

$application = new Symfony\Component\Console\Application();

// ... register commands
$application->add(new TestCommand());

$application->run();

Это тестовый класс, который я настроил

<?php

namespace Mvc\Commands;

use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

class TestCommand extends Command
{
    /**
     * The name of the command (the part after "bin/console")
     * 
     * @var string
     */
    protected $command_name = 'app:test';

    /**
     * The description of the command (the part after "bin/console")
     * 
     * @var string
     */
    protected $command_description = "Try to echo Hello World for testing if it works.";

    protected function configure()
    {
        $this->setName($this->command_name)
             ->setDescription($this->command_description);
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $name = $input->getArgument($this->command_argument_name);
    }
}

Как я могу создавать команды для генерации классов различного типа, например, как это делает Laravel для генерации контроллеров, моделей и т. Д. (php artisan make:controller TestController и т. Д.)?

1 Ответ

0 голосов
/ 21 мая 2019

Вы должны установить maker-bundle с composer require symfony/maker-bundle --dev

, после этого напишите php bin/console make и нажмите ввод для отображения всех доступных команд.

...