Php Laravel 5将视图和模型保存在参考资料视图目录中的单独文件夹中
我已经寻找了很多我的要求,但我没有找到一个适合我的工作解决方案。我正在使用Laravel5创建一个web应用程序,我希望将所有与管理员访问相关的控制器保存到控制器文件夹中的admin子文件夹中。对于这一点,我已经找到了很好的答案,但现在我关心的是如何将视图和模型保存在单独的文件夹中,以便能够轻松地进行管理。例如,laravel 5允许我们以以下格式保留控制器的所有视图Php Laravel 5将视图和模型保存在参考资料视图目录中的单独文件夹中,php,laravel-5,Php,Laravel 5,我已经寻找了很多我的要求,但我没有找到一个适合我的工作解决方案。我正在使用Laravel5创建一个web应用程序,我希望将所有与管理员访问相关的控制器保存到控制器文件夹中的admin子文件夹中。对于这一点,我已经找到了很好的答案,但现在我关心的是如何将视图和模型保存在单独的文件夹中,以便能够轻松地进行管理。例如,laravel 5允许我们以以下格式保留控制器的所有视图 资源 观点 布局 控制器名称(用于特定于控制器的视图文件夹) index.blade.php 现在我想要这样的东
- 资源
- 观点
- 布局
- 控制器名称(用于特定于控制器的视图文件夹)
- index.blade.php
- 观点
- 资源
- 观点
- 布局
- 管理员
- 控制器名称(用于特定于控制器的视图文件夹)
- index.blade.php
- 控制器名称(用于特定于控制器的视图文件夹)
- 观点
<?php
namespace App\Models\Admin;
class Users extends Model{
// do some stuff here
}
?>
任何帮助都将允许我进一步了解mu项目。您完全可以自由选择应用程序的结构。如果你的观点是
resources/views/admin/mycontroller/index.blade.php
您的控制器被放入app/Http/Controllers/Admin/MyController.php
文件中,然后您可以这样使用视图:
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function index() {
return view('admin.controller.index');
}
}
关于您的模型,同样,Laravel是灵活的,并且使用PSR-4自动加载,因此您的名称空间结构必须与目录结构匹配。如果要将用户
模型放置在App\Models\Admin
命名空间中,只需创建以下文件夹结构:
app/
Models/
Admin/
Users.php
...
resources/
vendor/
在Users.php
文件中,放置模型类:
<?php
namespace App\Models\Admin;
use Illuminate\Database\Eloquent\Model;
class Users extends Model
{
// ...
}
与
我希望这有帮助。太好了。现在,如果我想为管理员和普通用户分别使用两个不同的用户模型,该怎么办。我应该将它们放在单独的名称空间和文件夹中,或者我们可以对两者使用相同的模型。这不是一件容易的事情。试着搜索那个。最简单的方法是在模型中放入一个
isAdmin()
方法(可能还有一些scope…()
方法)。谢谢你帮了我大忙。
'model' => 'App\User',
'model' => 'App\Models\Admin\Users',