110 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Illuminate\Database\Console\Seeds;
 | 
						|
 | 
						|
use Illuminate\Console\GeneratorCommand;
 | 
						|
use Illuminate\Filesystem\Filesystem;
 | 
						|
use Illuminate\Support\Composer;
 | 
						|
 | 
						|
class SeederMakeCommand extends GeneratorCommand
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * The console command name.
 | 
						|
     *
 | 
						|
     * @var string
 | 
						|
     */
 | 
						|
    protected $name = 'make:seeder';
 | 
						|
 | 
						|
    /**
 | 
						|
     * The console command description.
 | 
						|
     *
 | 
						|
     * @var string
 | 
						|
     */
 | 
						|
    protected $description = 'Create a new seeder class';
 | 
						|
 | 
						|
    /**
 | 
						|
     * The type of class being generated.
 | 
						|
     *
 | 
						|
     * @var string
 | 
						|
     */
 | 
						|
    protected $type = 'Seeder';
 | 
						|
 | 
						|
    /**
 | 
						|
     * The Composer instance.
 | 
						|
     *
 | 
						|
     * @var \Illuminate\Support\Composer
 | 
						|
     */
 | 
						|
    protected $composer;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Create a new command instance.
 | 
						|
     *
 | 
						|
     * @param  \Illuminate\Filesystem\Filesystem  $files
 | 
						|
     * @param  \Illuminate\Support\Composer  $composer
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function __construct(Filesystem $files, Composer $composer)
 | 
						|
    {
 | 
						|
        parent::__construct($files);
 | 
						|
 | 
						|
        $this->composer = $composer;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Execute the console command.
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function handle()
 | 
						|
    {
 | 
						|
        parent::handle();
 | 
						|
 | 
						|
        $this->composer->dumpAutoloads();
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get the stub file for the generator.
 | 
						|
     *
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    protected function getStub()
 | 
						|
    {
 | 
						|
        return $this->resolveStubPath('/stubs/seeder.stub');
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resolve the fully-qualified path to the stub.
 | 
						|
     *
 | 
						|
     * @param  string  $stub
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    protected function resolveStubPath($stub)
 | 
						|
    {
 | 
						|
        return file_exists($customPath = $this->laravel->basePath(trim($stub, '/')))
 | 
						|
            ? $customPath
 | 
						|
            : __DIR__.$stub;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get the destination class path.
 | 
						|
     *
 | 
						|
     * @param  string  $name
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    protected function getPath($name)
 | 
						|
    {
 | 
						|
        return $this->laravel->databasePath().'/seeds/'.$name.'.php';
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Parse the class name and format according to the root namespace.
 | 
						|
     *
 | 
						|
     * @param  string  $name
 | 
						|
     * @return string
 | 
						|
     */
 | 
						|
    protected function qualifyClass($name)
 | 
						|
    {
 | 
						|
        return $name;
 | 
						|
    }
 | 
						|
}
 |