在Laravel 5中,如何将控制器移出“app”文件夹

时间:2015-12-23 10:11:37

标签: php laravel laravel-5 directory-structure

我将所有类代码放在一个单独的文件夹中。我在文件夹'app'旁边创建了一个'src'文件夹。在这个'src'文件夹中将是'Models','Views'和'Controllers'文件夹以及'routes.php'文件。所以结构如下。

  • 应用
  • SRC
    • 控制器
    • 模型
    • 浏览
    • routes.php文件

我已将routes.php和views移动到src,方法是更改​​'app \ Providers \ RouteServiceProvider.php'中的路由路径,并在'config / view.php'中查看路径。如果我在这里做错了,请纠正我。

我的问题是 - 如何将控制器,模型,视图和route.php从app移动到src?

我想这样做,因为我想在一个地方放置所有用户编写的代码。我不想移动app / Http / Controllers / Controller.php。我只想移动用户创建的控制器。

我想在没有在其他地方制动任何东西的情况下实现这一点。

1 个答案:

答案 0 :(得分:0)

您可以在那里移动代码,您只需要告诉自动加载器在哪里找到这些类。您需要更新 composer.json 中的自动加载部分。

您的控制器有哪些命名空间?它会影响你需要放在那里。如果您将它们存储在 \ App \ Http \ Controllers 中,则需要在其中添加以下内容:

"autoload": {
  "classmap": [],
  "psr-4": {
    "App\\Http\\Controllers\\": "src/Controllers/",
  }
},

这将告诉自动加载器 App \ Http \ Controllers 命名空间的根目录是 src / Controllers / 文件夹。