Php Laravel 5将视图和模型保存在参考资料视图目录中的单独文件夹中

Php Laravel 5将视图和模型保存在参考资料视图目录中的单独文件夹中,php,laravel-5,Php,Laravel 5,我已经寻找了很多我的要求,但我没有找到一个适合我的工作解决方案。我正在使用Laravel5创建一个web应用程序,我希望将所有与管理员访问相关的控制器保存到控制器文件夹中的admin子文件夹中。对于这一点,我已经找到了很好的答案,但现在我关心的是如何将视图和模型保存在单独的文件夹中,以便能够轻松地进行管理。例如,laravel 5允许我们以以下格式保留控制器的所有视图 资源 观点 布局 控制器名称(用于特定于控制器的视图文件夹) index.blade.php 现在我想要这样的东

我已经寻找了很多我的要求,但我没有找到一个适合我的工作解决方案。我正在使用Laravel5创建一个web应用程序,我希望将所有与管理员访问相关的控制器保存到控制器文件夹中的admin子文件夹中。对于这一点,我已经找到了很好的答案,但现在我关心的是如何将视图和模型保存在单独的文件夹中,以便能够轻松地进行管理。例如,laravel 5允许我们以以下格式保留控制器的所有视图

  • 资源
    • 观点
      • 布局
      • 控制器名称(用于特定于控制器的视图文件夹)
        • index.blade.php
现在我想要这样的东西

  • 资源
    • 观点
      • 布局
      • 管理员
        • 控制器名称(用于特定于控制器的视图文件夹)
          • index.blade.php
我也在寻找同样的结构模型,以作为laravel 5提供模型直接进入应用程序文件夹。我在网上的某个地方发现,你们可以直接在应用程序中为模型创建文件夹,你们只需要在模型中指定名称空间,就像下面为应用程序目录中的管理员文件夹编写的代码一样

<?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',