수색…


기본 앱 디렉토리 변경

앱 디렉토리의 이름을 다른 것으로 바꿀 수있는 유스 케이스가 있습니다. Laravel4에서는 config 항목을 변경할 수 있습니다. 여기 Laravel5에서 수행 할 수있는 방법이 있습니다.

이 예제에서는 app 디렉토리의 이름을 src 로 바꿀 것입니다.

Application 클래스 재정의

디렉토리 이름 app 는 핵심 Application 클래스에 하드 코드되어 있으므로 재정의되어야합니다. Application.php 파일을 새로 만듭니다. 나는 src 디렉토리 (우리가 애플 리케이션을 대체 할 것)에 내 것을 두는 것을 선호하지만, 당신은 그것을 다른 곳에 둘 수있다.

재정의 된 클래스의 모양은 다음과 같습니다. 다른 이름을 원하면 문자열 src 를 다른 것으로 변경하십시오.

namespace App;

class Application extends \Illuminate\Foundation\Application
{
    /**
     * @inheritdoc
     */
    public function path($path = '')
    {
        return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
    }
}

파일을 저장하십시오. 우리는 그것으로 끝난다.

새로운 클래스 호출하기

bootstrap/app.php 열고 위치를 찾습니다.

$app = new Illuminate\Foundation\Application(
    realpath(__DIR__.'/../')
);

우리는 이걸로 대체 할거야.

$app = new App\Application(
    realpath(__DIR__.'/../')
);

작곡가

composer.json 파일을 열고 새로운 위치에 맞게 자동 로딩을 변경하십시오.

"psr-4": {
    "App\\": "src/"
}

마지막으로, 명령 줄에서 composer dump-autoload 실행하면 src 디렉토리에서 앱을 제공해야합니다.

컨트롤러 디렉토리 변경

우리가 필요로하는 Controllers 디렉토리를 변경하려면 :

  1. 우리가 원하는 곳에 기본 Controllers 디렉토리를 이동하거나 이름을 바꿉니다. 예를 들어 app/Http/Controllers 에서 app/Controllers 이르기까지
  1. Controllers 폴더 안에있는 파일의 모든 네임 스페이스를 업데이트하여 PSR-4에 준거하여 새로운 경로를 고수하십시오.
  1. routes.php 파일에 적용된 네임 스페이스를 app\Providers\RouteServiceProvider.php 편집하여 변경하고 다음을 변경하십시오.
protected $namespace = 'App\Http\Controllers';

이에:

protected $namespace = 'App\Controllers';


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow