laravel的依赖注入

首先创建service层的接口类,和实现类。在app文件夹下面创建services文件夹。
(1)接口类:
<?php

namespace App\Services;
use App\models\Users;

  interface IUserService{

   /**
    * 获取用户数据
    * [getUserLists description]
    * @return [type] [description]
    */
   public function getUserLists();
   /**
    * 添加用户
    */
   public function addUser(Users $user);
   /**
    * 删除用户
    */
   public function deleteUser(Users $user);
   /**
    * 查找用户
    */
   public function findUser(int $id);

  }
?>


(2)实现类:
<?php
 namespace App\Services;
 // use App\Services\IUserService;
 use App\models\Users;
   class IUserServiceImpl implements IUserService{

     /**
      * 获取用户列表
      * [getUserLists description]
      * @return [type] [description]
      */
     public function getUserLists(){


            return Users::all()->toArray();
     }
     /**
      * 添加用户
      * [addUser description]
      * @param Users $user [description]
      */
     public function addUser(Users $user){

     }
     /**
      * [deleteUser description]
      * @param  Users  $user [description]
      * @return [type]       [description]
      */
     public function deleteUser(Users $user){

     }
     /**
      * 根据用户id查询用户
      * [findUser description]
      * @param  int    $id [description]
      * @return [type]     [description]
      */
     public function findUser(int $id){

     }
   }
?>


(3)配置依赖注入
在Providers文件夹下面的AppServiceProvider中配置一下IOC
   public function register()
    {        
        //$this->app->bind(App\Services\IUserService::class, App\Services\IUserServiceImpl::class);
    //单例模式创建对象
        $this->app->singleton('\App\Services\IUserService', function()
                {
                    return new \App\Services\IUserServiceImpl();
                });
    }


(4)控制器层使用
<?php
namespace App\Http\Controllers;    
use App\Http\Controllers\Controller;
use App\Repositories\UserRepository;
use App\models\Users;
use Cache;
use Log;
use Event;
use App\Services\IUserService;
use App\Events\PupUserchange;
/**
 * 控制器
 */
class UserController extends Controller{
 private  $UserService;
//注入接口的实例对象IUserServiceImpl,其实laravel框架帮助我们实现了 IUserService  $service = new IUserServiceImpl();这一步。
 public function __construct(IUserService $service){
 
  $this->UserService = $service;

 }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值