在Laravel 5中,我如何将控制器移出';应用程序';文件夹


In Laravel 5, how can I move the controllers out of the 'app' folder

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

  • 应用程序
  • src
    • 控制器
    • 型号
    • 视图
    • routes.php

我已经通过在"app''Providers''RouteServiceProvider.php"中更改路由路径和在"config/view.php"中修改视图路径,将routes.php和视图移动到src。如果我在这里做错了什么,请纠正我。

我的问题是,如何将控制器、模型、视图和route.php从应用程序移动到src?

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

我想在其他地方不刹车的情况下实现这一目标。

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

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

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

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