[李景山php]每天laravel-20161127|InstallCommand.php

时间:2021-11-22 15:22:01
<?php

namespace Illuminate\Database\Console\Migrations;

use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Illuminate\Database\Migrations\MigrationRepositoryInterface;

class InstallCommand extends Command
{// InstallCommand extends Command
    /** * The console command name. * * @var string */
    protected $name = 'migrate:install';// The console command name.

    /** * The console command description. * * @var string */
    protected $description = 'Create the migration repository';// The console command description

    /** * The repository instance. * * @var \Illuminate\Database\Migrations\MigrationRepositoryInterface */
    protected $repository;//The repository instance

    /** * Create a new migration install command instance. * * @param \Illuminate\Database\Migrations\MigrationRepositoryInterface $repository * @return void */
    public function __construct(MigrationRepositoryInterface $repository)
    {//Create a new migration install command instance.
        parent::__construct();// set the parent::__construct()

        $this->repository = $repository;// set the repository
    }

    /** * Execute the console command. * * @return void */
    public function fire()
    {//Execute the console command
        $this->repository->setSource($this->input->getOption('database'));
// set Source
        $this->repository->createRepository();
// create Repository
        $this->info('Migration table created successfully.');
    }// set info

    /** * Get the console command options. * * @return array */
    protected function getOptions()
    {// Get the console command options
        return [
            ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use.'],
        ];// run at php5.4+
    }
}