Home >Backend Development >PHP Tutorial >laravel5 model文件如何组织

laravel5 model文件如何组织

WBOY
WBOYOriginal
2016-06-06 20:34:181218browse

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>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn