/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php
https://gitlab.com/mika_22/EscuelaAnexa · PHP · 566 lines · 312 code · 46 blank · 208 comment · 2 complexity · 716d8bb8af6933a99c1a162151339a65 MD5 · raw file
- <?php
- namespace Illuminate\Foundation\Providers;
- use Illuminate\Support\ServiceProvider;
- use Illuminate\Queue\Console\TableCommand;
- use Illuminate\Auth\Console\MakeAuthCommand;
- use Illuminate\Foundation\Console\UpCommand;
- use Illuminate\Foundation\Console\DownCommand;
- use Illuminate\Auth\Console\ClearResetsCommand;
- use Illuminate\Foundation\Console\ServeCommand;
- use Illuminate\Cache\Console\CacheTableCommand;
- use Illuminate\Queue\Console\FailedTableCommand;
- use Illuminate\Foundation\Console\TinkerCommand;
- use Illuminate\Foundation\Console\JobMakeCommand;
- use Illuminate\Foundation\Console\AppNameCommand;
- use Illuminate\Foundation\Console\OptimizeCommand;
- use Illuminate\Foundation\Console\TestMakeCommand;
- use Illuminate\Foundation\Console\RouteListCommand;
- use Illuminate\Foundation\Console\EventMakeCommand;
- use Illuminate\Foundation\Console\ModelMakeCommand;
- use Illuminate\Foundation\Console\ViewClearCommand;
- use Illuminate\Session\Console\SessionTableCommand;
- use Illuminate\Foundation\Console\PolicyMakeCommand;
- use Illuminate\Foundation\Console\RouteCacheCommand;
- use Illuminate\Foundation\Console\RouteClearCommand;
- use Illuminate\Routing\Console\ControllerMakeCommand;
- use Illuminate\Routing\Console\MiddlewareMakeCommand;
- use Illuminate\Foundation\Console\ConfigCacheCommand;
- use Illuminate\Foundation\Console\ConfigClearCommand;
- use Illuminate\Foundation\Console\ConsoleMakeCommand;
- use Illuminate\Foundation\Console\EnvironmentCommand;
- use Illuminate\Foundation\Console\KeyGenerateCommand;
- use Illuminate\Foundation\Console\RequestMakeCommand;
- use Illuminate\Foundation\Console\ListenerMakeCommand;
- use Illuminate\Foundation\Console\ProviderMakeCommand;
- use Illuminate\Foundation\Console\ClearCompiledCommand;
- use Illuminate\Foundation\Console\EventGenerateCommand;
- use Illuminate\Foundation\Console\VendorPublishCommand;
- use Illuminate\Database\Console\Seeds\SeederMakeCommand;
- class ArtisanServiceProvider extends ServiceProvider
- {
- /**
- * Indicates if loading of the provider is deferred.
- *
- * @var bool
- */
- protected $defer = true;
- /**
- * The commands to be registered.
- *
- * @var array
- */
- protected $commands = [
- 'ClearCompiled' => 'command.clear-compiled',
- 'ClearResets' => 'command.auth.resets.clear',
- 'ConfigCache' => 'command.config.cache',
- 'ConfigClear' => 'command.config.clear',
- 'Down' => 'command.down',
- 'Environment' => 'command.environment',
- 'KeyGenerate' => 'command.key.generate',
- 'Optimize' => 'command.optimize',
- 'RouteCache' => 'command.route.cache',
- 'RouteClear' => 'command.route.clear',
- 'RouteList' => 'command.route.list',
- 'Tinker' => 'command.tinker',
- 'Up' => 'command.up',
- 'ViewClear' => 'command.view.clear',
- ];
- /**
- * The commands to be registered.
- *
- * @var array
- */
- protected $devCommands = [
- 'AppName' => 'command.app.name',
- 'AuthMake' => 'command.auth.make',
- 'CacheTable' => 'command.cache.table',
- 'ConsoleMake' => 'command.console.make',
- 'ControllerMake' => 'command.controller.make',
- 'EventGenerate' => 'command.event.generate',
- 'EventMake' => 'command.event.make',
- 'JobMake' => 'command.job.make',
- 'ListenerMake' => 'command.listener.make',
- 'MiddlewareMake' => 'command.middleware.make',
- 'ModelMake' => 'command.model.make',
- 'PolicyMake' => 'command.policy.make',
- 'ProviderMake' => 'command.provider.make',
- 'QueueFailedTable' => 'command.queue.failed-table',
- 'QueueTable' => 'command.queue.table',
- 'RequestMake' => 'command.request.make',
- 'SeederMake' => 'command.seeder.make',
- 'SessionTable' => 'command.session.table',
- 'Serve' => 'command.serve',
- 'TestMake' => 'command.test.make',
- 'VendorPublish' => 'command.vendor.publish',
- ];
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $this->registerCommands($this->commands);
- //if (! $this->app->environment('production')) {
- $this->registerCommands($this->devCommands);
- //}
- }
- /**
- * Register the given commands.
- *
- * @param array $commands
- * @return void
- */
- protected function registerCommands(array $commands)
- {
- foreach (array_keys($commands) as $command) {
- $method = "register{$command}Command";
- call_user_func_array([$this, $method], []);
- }
- $this->commands(array_values($commands));
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerAppNameCommand()
- {
- $this->app->singleton('command.app.name', function ($app) {
- return new AppNameCommand($app['composer'], $app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerAuthMakeCommand()
- {
- $this->app->singleton('command.auth.make', function ($app) {
- return new MakeAuthCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerCacheTableCommand()
- {
- $this->app->singleton('command.cache.table', function ($app) {
- return new CacheTableCommand($app['files'], $app['composer']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerClearCompiledCommand()
- {
- $this->app->singleton('command.clear-compiled', function () {
- return new ClearCompiledCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerClearResetsCommand()
- {
- $this->app->singleton('command.auth.resets.clear', function () {
- return new ClearResetsCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerConfigCacheCommand()
- {
- $this->app->singleton('command.config.cache', function ($app) {
- return new ConfigCacheCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerConfigClearCommand()
- {
- $this->app->singleton('command.config.clear', function ($app) {
- return new ConfigClearCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerConsoleMakeCommand()
- {
- $this->app->singleton('command.console.make', function ($app) {
- return new ConsoleMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerControllerMakeCommand()
- {
- $this->app->singleton('command.controller.make', function ($app) {
- return new ControllerMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerEventGenerateCommand()
- {
- $this->app->singleton('command.event.generate', function () {
- return new EventGenerateCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerEventMakeCommand()
- {
- $this->app->singleton('command.event.make', function ($app) {
- return new EventMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerDownCommand()
- {
- $this->app->singleton('command.down', function () {
- return new DownCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerEnvironmentCommand()
- {
- $this->app->singleton('command.environment', function () {
- return new EnvironmentCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerJobMakeCommand()
- {
- $this->app->singleton('command.job.make', function ($app) {
- return new JobMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerKeyGenerateCommand()
- {
- $this->app->singleton('command.key.generate', function () {
- return new KeyGenerateCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerListenerMakeCommand()
- {
- $this->app->singleton('command.listener.make', function ($app) {
- return new ListenerMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerMiddlewareMakeCommand()
- {
- $this->app->singleton('command.middleware.make', function ($app) {
- return new MiddlewareMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerModelMakeCommand()
- {
- $this->app->singleton('command.model.make', function ($app) {
- return new ModelMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerOptimizeCommand()
- {
- $this->app->singleton('command.optimize', function ($app) {
- return new OptimizeCommand($app['composer']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerProviderMakeCommand()
- {
- $this->app->singleton('command.provider.make', function ($app) {
- return new ProviderMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerQueueFailedTableCommand()
- {
- $this->app->singleton('command.queue.failed-table', function ($app) {
- return new FailedTableCommand($app['files'], $app['composer']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerQueueTableCommand()
- {
- $this->app->singleton('command.queue.table', function ($app) {
- return new TableCommand($app['files'], $app['composer']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerRequestMakeCommand()
- {
- $this->app->singleton('command.request.make', function ($app) {
- return new RequestMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerSeederMakeCommand()
- {
- $this->app->singleton('command.seeder.make', function ($app) {
- return new SeederMakeCommand($app['files'], $app['composer']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerSessionTableCommand()
- {
- $this->app->singleton('command.session.table', function ($app) {
- return new SessionTableCommand($app['files'], $app['composer']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerRouteCacheCommand()
- {
- $this->app->singleton('command.route.cache', function ($app) {
- return new RouteCacheCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerRouteClearCommand()
- {
- $this->app->singleton('command.route.clear', function ($app) {
- return new RouteClearCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerRouteListCommand()
- {
- $this->app->singleton('command.route.list', function ($app) {
- return new RouteListCommand($app['router']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerServeCommand()
- {
- $this->app->singleton('command.serve', function () {
- return new ServeCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerTestMakeCommand()
- {
- $this->app->singleton('command.test.make', function ($app) {
- return new TestMakeCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerTinkerCommand()
- {
- $this->app->singleton('command.tinker', function () {
- return new TinkerCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerUpCommand()
- {
- $this->app->singleton('command.up', function () {
- return new UpCommand;
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerVendorPublishCommand()
- {
- $this->app->singleton('command.vendor.publish', function ($app) {
- return new VendorPublishCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerViewClearCommand()
- {
- $this->app->singleton('command.view.clear', function ($app) {
- return new ViewClearCommand($app['files']);
- });
- }
- /**
- * Register the command.
- *
- * @return void
- */
- protected function registerPolicyMakeCommand()
- {
- $this->app->singleton('command.policy.make', function ($app) {
- return new PolicyMakeCommand($app['files']);
- });
- }
- /**
- * Get the services provided by the provider.
- *
- * @return array
- */
- public function provides()
- {
- if ($this->app->environment('production')) {
- return array_values($this->commands);
- } else {
- return array_merge(array_values($this->commands), array_values($this->devCommands));
- }
- }
- }