관리 메뉴

FILife

php artisan make:model 실행 시 경로 지정하기 본문

내가 자꾸 까먹어서 쓰는 개발 이야기/Laravel

php artisan make:model 실행 시 경로 지정하기

FIL 2020. 5. 26. 10:48

기본적으로 라라벨은 위 커맨드 실행 시 app/ 디렉토리 아래 바로 model 파일을 생성한다.

 

개인적으로 용납할 수 없다.

 

app/Models 아래에 model 파일을 생성하려면 php artisan make:model Models/ModelName 과 같이 해야 했는데,

 

아래와 같은 방법으로 해결 가능하다.

 

먼저 php artisan make:command ModelMakeCommand 를 실행해서 console command를 생성한다.

 

해당 파일의 내용을 아래 내용으로 덮어씌워, 프레임웍의 command를 override 시켜준다.

<?php

namespace App\Console\Commands;

use Illuminate\Foundation\Console\ModelMakeCommand as Command;

class ModelMakeCommand extends Command
{
    protected function getDefaultNamespace($rootNamespace)
    {
        return "{$rootNamespace}\Entities";
    }
}

다음으로 app/Console/Kernel.php 의 $commands 배열에 위 클래스를 추가 해 준다.

 

protected $commands = [
    Commands\ModelMakeCommand::class
];

 

php artisan make:model TestModel 과 같이 테스트 한다.

 

출처:

https://laracasts.com/discuss/channels/general-discussion/artisan-makemodel-specify-the-directory-and-namespace?page=1#reply=348261

0 Comments
댓글쓰기 폼