2017-02-04 18 views
0

Laravel 5では、デフォルトのディレクトリ構造を変更したいので、appのパスをapiのように移動したいのですが、これをどのように行うことができますか?Laravel 5のディレクトリ構造のアプリケーションパスを変更する方法

代わりにこのような構造の例、:

. 
├── app 
├── bootstrap 
├── config 
├── database 
├── public 
├── resources 
├── storage 
├── tests 
└── vendor 

私はこれ欲しい:How to change app folder name in laravel 5

私はこの質問を、以下のようなので、のような名前空間を変更した私の作曲で

. 
├── api 
├── bootstrap 
├── config 
├── database 
├── public 
├── resources 
├── storage 
├── tests 
└── vendor 

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "Api\\": "api/" 
    } 
}, 

エラーが発生しました:

[RuntimeException]      
    Unable to detect application namespace. 

答えて

0

まあ、しばらく私はappパスはその後、私はそれをオーバーライドすることで動作させることができApplication::path()see the source

にハードコードされていることを考え出しlike this後に他の答えを見て回る、これを実現する方法を発見Application::path()方法:

class Application extends \Illuminate\Foundation\Application 
{ 
    /** 
    * Overrides the path to the application "app" directory. 
    * 
    * @return string 
    */ 
    public function path() 
    { 
     return $this->basePath.DIRECTORY_SEPARATOR.'api'; 
    } 
} 

その後bootstrap/app.phpを更新:

// Overrides the PATH to use api instead of app 
$app = new Api\Application(
    realpath(__DIR__.'/../') 
); 

. 
├── api 
├── bootstrap 
├── config 
├── database 
├── public 
├── resources 
├── storage 
├── tests 
└── vendor 

同様の方法がhttps://mattstauffer.co/blog/extending-laravels-application

で見つかりました。今、私は次のような構造を持つことができ

関連する問題