>백엔드 개발 >PHP 튜토리얼 >laravel5 model文件如何组织

laravel5 model文件如何组织

WBOY
WBOY원래의
2016-06-06 20:34:181214검색

laravel5 移除了 app/models 文件夹.
那么问题来了,model文件应该放哪呢?
看到一些laravel5的案例,是吧model文件直接放app/http/目录下,这样model多了似乎有点杂乱

所以laravel5 的model准确的方式是应该如何组织的?

回复内容:

laravel5 移除了 app/models 文件夹.
那么问题来了,model文件应该放哪呢?
看到一些laravel5的案例,是吧model文件直接放app/http/目录下,这样model多了似乎有点杂乱

所以laravel5 的model准确的方式是应该如何组织的?

现在我也是在用laravel5做项目开发

目前在根目录创建models目录,然后和4一样,在composer.json里面加入自动载入的目录

之前有一段时间是创建app\models目录,使用命名空间App\Models\User,后来使用morphOne之类的关系发现数据库fileable多了App\Models前缀,感觉有点冗余,就移到根目录了。

对于Laravel5 来说,由于app目录采用了psr-4标准,因此只要你写了命名空间,models文件夹就可以被加载到。我一般app\models
可以参考:Laravel 5.0 - 目录结构和命名空间

楼上正解,laravel 目录结构其实没那么死板的,自己随便建立目录,想自动加载,就添加到 composer.json里面就行

为什么干掉app/models以及干掉后的好处:http://my.oschina.net/zgldh/blog/362063#OSC_h2_3

我是这么做的,
我的 Model: 数据库表[Eloquent] & 一些功能性的模块
数据库表 放在 app/Tables 下,
额外的功能性的模块 放在 app/Extra 下。
使用的时候在 Controller 里先声明
use App\Tables\用户 as 用户表;
然后直接使用 用户表::all() 这种形式~

<code>php artisan make:model Http/Models/Post
</code>
<code><?php namespace App\Http\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model {

    //

}
</code></code>

所有的代码逻辑都放在Http文件夹里,我还会在Http下添加一个Repositories文件夹,在model之上再做一层抽象。

<code><?php namespace App\Http\Repositories;
class PostRepository {
    public function __construct() {

    }
    public function get() {

    }
}
</code></code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.