美文网首页
Laravel 仓库模式

Laravel 仓库模式

作者: hankin_h | 来源:发表于2019-02-26 19:16 被阅读0次

    一、建立文件夹 

         ●app

             ●Repositories

                    ●Interfaces

                    ●Repositories

    二、创建接口

    在interfaces目录下创建文件PostInterface.php

    <?php

    namesapce  App\Repositories\Interfaces;

    Interface PostInterface{

        public function postAll();

    }

    三、创建实现

    在Repositories目录下创建文件PostRepository.php

    <?php

    namesapce App\Repositories\Repositories;

    use App\ Repositories\Interface\PostInterface;

    use App\Models\Post;

    class PostRepository Implements PostInterface{

        public function postAll()

        {

            $query = Post::all();

            return $query;

        }

    四、绑定服务

    1.创建RepositoryServiceProvider.php

    php artisan make:provider RepositoryServiceProvider

    2.打开app/Providers/AppServiceProvider, 在register() 加入代码:

    <?php

    namespace App\Providers;

    use Illuminate\Support\ServiceProvider;

    class AppServiceProvider extends ServiceProvider

    {

        public function boot()

        {

        }

         public function register()

        {

             $this->app->bind('App\Repositories\Interfaces\PostInterface', 'App\Repositories\Implements\PostRepository');

        }

    }

    五、测试仓库

    回到PostController;

    <?php

    namespace app\Http\Controllers\PostController;

    use App\Repositories\Interfaces\PostInterface;

    class PostController extend Controller{

        protected $postRepo;

        public function __construct(PostInterface $postRepo)

        {

            $this->postRepo = $postRepo;

        }

        public function index()

        {

            $this->postRepo->postAll();

        }

    相关文章

      网友评论

          本文标题:Laravel 仓库模式

          本文链接:https://www.haomeiwen.com/subject/twszyqtx.html