在 Laravel 5 中,如何将控制器移出 'app' 文件夹
In Laravel 5, how can I move the controllers out of the 'app' folder
我将所有 类 代码放在一个单独的文件夹中。我在文件夹 'app' 旁边创建了一个文件夹 'src'。在这个 'src' 文件夹中还有 'Models'、'Views' 和 'Controllers' 文件夹以及 'routes.php' 文件。所以结构如下。
- 应用
- 来源
- 控制器
- 型号
- 观看次数
- routes.php
我通过更改 'app\Providers\RouteServiceProvider.php' 中的路由路径和 'config/view.php' 中的视图路径,将 routes.php 和视图移至 src。如果我在这里做错了,请指正。
我的问题是 - 如何将控制器、模型、视图和 route.php 从 app 移动到 src?
我想这样做是因为我想将所有用户编写的代码放在一个地方。我不想移动 app/Http/Controllers/Controller.php。我只想移动用户创建的控制器。
我想在不在其他地方刹车的情况下实现这一目标。
您可以将您的代码移到那里,您只需要告诉自动加载器在哪里可以找到这些 类。您需要更新 composer.json.
中的 autoload 部分
您的控制器在哪个命名空间中?它会影响你需要放在那里的东西。如果将它们存储在 \App\Http\Controllers 中,则需要在其中添加以下内容:
"autoload": {
"classmap": [],
"psr-4": {
"App\Http\Controllers\": "src/Controllers/",
}
},
这将告诉自动加载器 App\Http\Controllers 命名空间的根目录是 src/Controllers/ 文件夹。
我将所有 类 代码放在一个单独的文件夹中。我在文件夹 'app' 旁边创建了一个文件夹 'src'。在这个 'src' 文件夹中还有 'Models'、'Views' 和 'Controllers' 文件夹以及 'routes.php' 文件。所以结构如下。
- 应用
- 来源
- 控制器
- 型号
- 观看次数
- routes.php
我通过更改 'app\Providers\RouteServiceProvider.php' 中的路由路径和 'config/view.php' 中的视图路径,将 routes.php 和视图移至 src。如果我在这里做错了,请指正。
我的问题是 - 如何将控制器、模型、视图和 route.php 从 app 移动到 src?
我想这样做是因为我想将所有用户编写的代码放在一个地方。我不想移动 app/Http/Controllers/Controller.php。我只想移动用户创建的控制器。
我想在不在其他地方刹车的情况下实现这一目标。
您可以将您的代码移到那里,您只需要告诉自动加载器在哪里可以找到这些 类。您需要更新 composer.json.
中的 autoload 部分您的控制器在哪个命名空间中?它会影响你需要放在那里的东西。如果将它们存储在 \App\Http\Controllers 中,则需要在其中添加以下内容:
"autoload": {
"classmap": [],
"psr-4": {
"App\Http\Controllers\": "src/Controllers/",
}
},
这将告诉自动加载器 App\Http\Controllers 命名空间的根目录是 src/Controllers/ 文件夹。