更改默认的 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 目录提供。