BaseCommand.php
TLDR
This file is a PHP class called BaseCommand
that extends the Command
class. It contains several protected methods that are used in database migration commands.
Methods
getMigrationPaths
This method retrieves all of the migration paths. If a path option has been defined, it returns an array of paths relative to the root of the installation folder. Otherwise, it returns an array that includes the default migration path and any additional paths defined by the migrator.
usingRealPath
This method determines if the given path(s) are pre-resolved "real" paths. It checks if the realpath
option is set to true and returns a boolean value accordingly.
getMigrationPath
This method retrieves the path to the migration directory. It returns a string that represents the path to the migrations
directory within the Laravel application's database directory.
Classes
No classes are defined in this file.
<?php
namespace Illuminate\Database\Console\Migrations;
use Illuminate\Console\Command;
class BaseCommand extends Command
{
/**
* Get all of the migration paths.
*
* @return array
*/
protected function getMigrationPaths()
{
// Here, we will check to see if a path option has been defined. If it has we will
// use the path relative to the root of the installation folder so our database
// migrations may be run for any customized path from within the application.
if ($this->input->hasOption('path') && $this->option('path')) {
return collect($this->option('path'))->map(function ($path) {
return ! $this->usingRealPath()
? $this->laravel->basePath().'/'.$path
: $path;
})->all();
}
return array_merge(
$this->migrator->paths(), [$this->getMigrationPath()]
);
}
/**
* Determine if the given path(s) are pre-resolved "real" paths.
*
* @return bool
*/
protected function usingRealPath()
{
return $this->input->hasOption('realpath') && $this->option('realpath');
}
/**
* Get the path to the migration directory.
*
* @return string
*/
protected function getMigrationPath()
{
return $this->laravel->databasePath().DIRECTORY_SEPARATOR.'migrations';
}
}