laravel的依赖注入
发布时间:2020-12-13 22:12:12 所属栏目:百科 来源:网络整理
导读:首先创建service层的接口类,和实现类。在app文件夹下面创建services文件夹。 (1)接口类: ?phpnamespace AppServices;use AppmodelsUsers; interface IUserService{ /** * 获取用户数据 * [getUserLists description] * @return [type] [description] */
首先创建service层的接口类,和实现类。在app文件夹下面创建services文件夹。
(1)接口类:
<?php namespace AppServices; use AppmodelsUsers; 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 AppServices; // use AppServicesIUserService; use AppmodelsUsers; 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(AppServicesIUserService::class,AppServicesIUserServiceImpl::class); //单例模式创建对象 $this->app->singleton('AppServicesIUserService',function() { return new AppServicesIUserServiceImpl(); }); }
(4)控制器层使用
<?php namespace AppHttpControllers; use AppHttpControllersController; use AppRepositoriesUserRepository; use AppmodelsUsers; use Cache; use Log; use Event; use AppServicesIUserService; use AppEventsPupUserchange; /** * 控制器 */ class UserController extends Controller{ private $UserService; //注入接口的实例对象IUserServiceImpl,其实laravel框架帮助我们实现了 IUserService $service = new IUserServiceImpl();这一步。 public function __construct(IUserService $service){ $this->UserService = $service; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |