端くれプログラマの備忘録 Laravel [Laravel] Laravel 5 Repositoriesのインストール

[Laravel] Laravel 5 Repositoriesのインストール

リポジトリパターンを使うと、コントローラからデータアクセスのロジックを分離することができる。分離されたことでテストも容易になる。

インストール

$ composer require prettus/l5-repository
$ composer require prettus/laravel-validation
$ composer require league/fractal
$ php artisan make:provider RepositoryServiceProvider

app/Providers/RepositoryServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class RepositoryServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $repositories = [
            // \App\Repositories\UserRepository::class,
        ];

        foreach ($repositories as $repository) {
            $this->app->bind($repository, $repository.'Eloquent');
        }
    }
}

config/app.php

'providers' => [
  ....
  App\Providers\RepositoryServiceProvider::class,
  Prettus\Repository\Providers\RepositoryServiceProvider::class,
]:
$ php artisan vendor:publish

参考サイト

GitHub – andersao/l5-repository: Laravel 5 – Repositories to abstract the database layer
https://github.com/andersao/l5-repository

Using Repository Pattern in Laravel 5 – Bosnadev – Code Factory
https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/?utm_source=prettus-l5-repository&utm_medium=readme&utm_campaign=prettus-l5-repository

Laravel4.2のリポジトリパターン | アライドアーキテクツ エンジニアブログ
http://tech.aainc.co.jp/archives/10227

Laravelでプロジェクトを作成したらまずやることメモ – Qiita
http://qiita.com/ponko2/items/f2f59b43dae1561ceb50#laravel-5-repositories%E3%81%AE%E8%A8%AD%E5%AE%9A