Skip to content

Instantly share code, notes, and snippets.

@DaaGER
Created May 26, 2019 11:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DaaGER/364e4c40a047c2f91262590cf5c7a5ca to your computer and use it in GitHub Desktop.
Save DaaGER/364e4c40a047c2f91262590cf5c7a5ca to your computer and use it in GitHub Desktop.
Catching artisan commands/Перехват команд артисан
//config/app.php
//change provider
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class
=>
App\Providers\ConsoleSupportServiceProvider::class,
//app/Providers/ArtisanServiceProvider.php
<?php
namespace App\Providers;
use App\Providers\Command\ControllerMakeCommand;
class ArtisanServiceProvider extends \Illuminate\Foundation\Providers\ArtisanServiceProvider
{
protected function registerControllerMakeCommand()
{
$this->app->singleton('command.controller.make', function ($app) {
return new ControllerMakeCommand($app['files']);
});
}
}
//app/Providers/ConsoleSupportServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Database\MigrationServiceProvider;
use Illuminate\Foundation\Providers\ComposerServiceProvider;
use Illuminate\Support\AggregateServiceProvider;
class ConsoleSupportServiceProvider extends AggregateServiceProvider
{
/**
* The provider class names.
*
* @var array
*/
protected $providers = [
ArtisanServiceProvider::class,
MigrationServiceProvider::class,
ComposerServiceProvider::class,
];
}
//app/Providers/Command/ControllerMakeCommand.php
<?php
namespace App\Providers\Command;
class ControllerMakeCommand extends \Illuminate\Routing\Console\ControllerMakeCommand
{
public function handle()
{
$word="Controller";
$name=substr($this->getNameInput(),-strlen($word));
if($name!==$word){
$this->error("Название контроллера {$this->getNameInput()} должно заканчиваться на $word");
return false;
}
return parent::handle();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment