Od laravel 5, to jest interes do mnie - jak się zarejestrować i korzystać z konsoli polecenie opakowaniu w laravel 5.Jak zarejestrować polecenie konsoli z pakietu w Laravel 5?
jak w laracast dyskutować https://laracasts.com/discuss/channels/tips/developing-your-packages-in-laravel-5, utworzyć strukturę katalogów, aby dodać paczkę autoload i stworzyć usługę dostawca
<?php namespace Goodvin\EternalTree;
use Console\InstallCommand;
use Illuminate\Support\ServiceProvider;
class EternalTreeServiceProvider extends ServiceProvider
{
public function boot()
{
}
public function register()
{
$this->registerCommands();
}
protected function registerCommands()
{
$this->registerInstallCommand();
}
protected function registerInstallCommand()
{
$this->app->singleton('command.eternaltree.install', function($app) {
return new InstallCommand();
});
}
public function provides()
{
return [
'command.eternaltree.install'
];
}
}
My InstallCommand.php skrypt zapisany w/src/Console
<?php namespace Goodvin\EternalTree\Console;
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;
class InstallCommand extends Command {
protected $name = 'install:eternaltree';
protected $description = 'Command for EternalTree migration & model install.';
public function __construct()
{
parent::__construct();
}
public function fire()
{
$this->info('Command eternaltree:install fire');
}
}
zarejestrować usługodawcy app.php & wykonać zrzutu autoLoad. Ale gdy próbuję wykonać
php artisan eternaltree:install
to pokaż mi
[InvalidArgumentException] There are no commands defined in the "eternaltree" namespace.
Myślę, że moje polecenia nie jest zarejestrowany przez usługodawcę, ponieważ lista php rzemieślnik nie pokazać moje polecenie. Czy ktoś może mi wyjaśnić, jaki jest właściwy sposób rejestrowania poleceń we własnym pakiecie w Laravel 5?
Czy jak zasugerował: - Wdrożone MyServiceProvider rozciąga ServiceProvider następnie '' 'register public function() { // $ this-> komendy ([ LaravelTypesController :: klasa ]); } '' ' - LaravelTypesController wydłuża komendę za pomocą $ signature, $ description i obsługuje metodę, ale nadal nie widać polecenia na php artisan | grep –