Server IP : 127.0.0.2 / Your IP : 3.144.112.72 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/vendor/laravel/framework/src/Illuminate/Database/ |
Upload File : |
<?php namespace Illuminate\Database; use Illuminate\Support\ServiceProvider; use Illuminate\Database\Migrations\Migrator; use Illuminate\Database\Migrations\MigrationCreator; use Illuminate\Database\Console\Migrations\ResetCommand; use Illuminate\Database\Console\Migrations\StatusCommand; use Illuminate\Database\Console\Migrations\InstallCommand; use Illuminate\Database\Console\Migrations\MigrateCommand; use Illuminate\Database\Console\Migrations\RefreshCommand; use Illuminate\Database\Console\Migrations\RollbackCommand; use Illuminate\Database\Console\Migrations\MigrateMakeCommand; use Illuminate\Database\Migrations\DatabaseMigrationRepository; class MigrationServiceProvider extends ServiceProvider { /** * Indicates if loading of the provider is deferred. * * @var bool */ protected $defer = true; /** * Register the service provider. * * @return void */ public function register() { $this->registerRepository(); // Once we have registered the migrator instance we will go ahead and register // all of the migration related commands that are used by the "Artisan" CLI // so that they may be easily accessed for registering with the consoles. $this->registerMigrator(); $this->registerCreator(); $this->registerCommands(); } /** * Register the migration repository service. * * @return void */ protected function registerRepository() { $this->app->singleton('migration.repository', function ($app) { $table = $app['config']['database.migrations']; return new DatabaseMigrationRepository($app['db'], $table); }); } /** * Register the migrator service. * * @return void */ protected function registerMigrator() { // The migrator is responsible for actually running and rollback the migration // files in the application. We'll pass in our database connection resolver // so the migrator can resolve any of these connections when it needs to. $this->app->singleton('migrator', function ($app) { $repository = $app['migration.repository']; return new Migrator($repository, $app['db'], $app['files']); }); } /** * Register the migration creator. * * @return void */ protected function registerCreator() { $this->app->singleton('migration.creator', function ($app) { return new MigrationCreator($app['files']); }); } /** * Register all of the migration commands. * * @return void */ protected function registerCommands() { $commands = ['Migrate', 'Rollback', 'Reset', 'Refresh', 'Install', 'Make', 'Status']; // We'll simply spin through the list of commands that are migration related // and register each one of them with an application container. They will // be resolved in the Artisan start file and registered on the console. foreach ($commands as $command) { $this->{'register'.$command.'Command'}(); } // Once the commands are registered in the application IoC container we will // register them with the Artisan start event so that these are available // when the Artisan application actually starts up and is getting used. $this->commands( 'command.migrate', 'command.migrate.make', 'command.migrate.install', 'command.migrate.rollback', 'command.migrate.reset', 'command.migrate.refresh', 'command.migrate.status' ); } /** * Register the "migrate" migration command. * * @return void */ protected function registerMigrateCommand() { $this->app->singleton('command.migrate', function ($app) { return new MigrateCommand($app['migrator']); }); } /** * Register the "rollback" migration command. * * @return void */ protected function registerRollbackCommand() { $this->app->singleton('command.migrate.rollback', function ($app) { return new RollbackCommand($app['migrator']); }); } /** * Register the "reset" migration command. * * @return void */ protected function registerResetCommand() { $this->app->singleton('command.migrate.reset', function ($app) { return new ResetCommand($app['migrator']); }); } /** * Register the "refresh" migration command. * * @return void */ protected function registerRefreshCommand() { $this->app->singleton('command.migrate.refresh', function () { return new RefreshCommand; }); } /** * Register the "make" migration command. * * @return void */ protected function registerMakeCommand() { $this->app->singleton('command.migrate.make', function ($app) { // Once we have the migration creator registered, we will create the command // and inject the creator. The creator is responsible for the actual file // creation of the migrations, and may be extended by these developers. $creator = $app['migration.creator']; $composer = $app['composer']; return new MigrateMakeCommand($creator, $composer); }); } /** * Register the "status" migration command. * * @return void */ protected function registerStatusCommand() { $this->app->singleton('command.migrate.status', function ($app) { return new StatusCommand($app['migrator']); }); } /** * Register the "install" migration command. * * @return void */ protected function registerInstallCommand() { $this->app->singleton('command.migrate.install', function ($app) { return new InstallCommand($app['migration.repository']); }); } /** * Get the services provided by the provider. * * @return array */ public function provides() { return [ 'migrator', 'migration.repository', 'command.migrate', 'command.migrate.rollback', 'command.migrate.reset', 'command.migrate.refresh', 'command.migrate.install', 'command.migrate.status', 'migration.creator', 'command.migrate.make', ]; } }