更改預設的 app 目錄

有些用例可能需要將 app 目錄重新命名為其他目錄。在 Laravel4 中你可以只改變一個配置條目,這是在 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 目錄提供。