laravel接口请求模拟(Laravel 类和接口注入相关的代码)
类别:编程学习 浏览量:2676
时间:2021-10-05 00:09:34 laravel接口请求模拟
Laravel 类和接口注入相关的代码Laravel能够自动注入需要的依赖,对于自定义的类和接口是有些不同的。
对于类,Laravel可以自动注入,但是接口的话需要创建相应的ServiceProvider注册接口和实现类的绑定,同时需要将ServiceProvider添加到congif/app.php的providers数组中,这样容器就能知道你需要注入哪个实现。
现在自定义一个类myClass
namespace App\library;
|
class myClass { public function show() { echo __FUNCTION__ . ' Hello World' ; } } |
设置route
|
Route::get( 'test/ioc' , 'TestController@index' ); |
修改TestController
|
class TestController extends Controller { public function index(myClass $myClass ) { $myClass ->show(); } } |
访问http://localhost/test/ioc,能成功打印show Hello World。
修改myClass
|
class myClass implements like { public function play() { // TODO: Implement play() method. echo __FUNCTION__ . ' Hello Play' ; } } |
like接口
|
interface like { public function play(); } |
TestController
|
class TestController extends Controller { public function index(like $like ) { $like ->play(); } } |
如果还是访问上面的地址,会提示错误
|
Target [App\library\like] is not instantiable. |
对于接口注入,我们需要在对应的ServiceProvider的register方法中注册,并将对应的ServiceProvider写入config/app的providers数组中。
定义LikeServiceProvider
|
class LikeServiceProvider extends ServiceProvider { public function boot() { // } public function register() { // $this ->app->bind( 'App\library\like' , 'App\library\myClass' ); } } |
之后我们需要将LikeServiceProvider添加到config\app.php文件的providers数组中。
还是继续访问上述的地址,页面成功输出play Hello Play。
以上这篇Laravel 类和接口注入相关的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/sweatOtt/article/details/55059633
您可能感兴趣
- laravel模型获取表名(Laravel 对某一列进行筛选然后求和sum的例子)
- laravel 数据库迁移(Laravel数据库读写分离配置的方法)
- laravel数据库切换(实现laravel 插入操作日志到数据库的方法)
- laravel接口请求模拟(Laravel 类和接口注入相关的代码)
- laravel自定义命令(laravel中数据显示方法默认值和下拉option默认选中)
- laravel模型怎么使用(laravel5.1框架model类查询的实现方法)
- laravel提交数据时间(laravel实现查询最后执行的一条sql语句的方法)
- laravel框架怎么定时任务(laravel Model 执行事务的实现)
- laravel后台框架(laravel-admin的多级联动方法)
- laravel认证系统(Laravel框架Auth用户认证操作实例分析)
- laravel 开发自定义组件(laravel实现上传图片并在页面显示的例子)
- laravel 后台管理框架(laravel-admin 管理平台获取当前登陆用户信息的例子)
- laravel连接多个数据库(laravel实现一个上传图片的接口,并建立软链接,访问图片的方法)
- laravel终止函数执行(laravel 输出最后执行sql 附:whereIn的使用方法)
- laravel如何设置默认模块(Laravel框架控制器的middleware中间件用法分析)
- laravel数据库数据代码(在Laravel的Model层做数据缓存的实现)
- 保温好 容量大 颜值高 保温杯你给娃娃买对了吗(保温好容量大颜值高)
- 《道德经》 人生避开骄狂,才能免去祸患(道德经人生避开骄狂)
- 郭麒麟(郭麒麟)
- 古人十句 戒骄 名言,醍醐灌顶,受益匪浅(古人十句戒骄名言)
- 《道德经》:功成不局,泰而不骄(道德经:功成不局)
- 每日一典 过江之鲫(每日一典过江之鲫)
热门推荐
- Mysql官方性能测试工具mysqlslap的使用简介(Mysql官方性能测试工具mysqlslap的使用简介)
- background-position的使用
- mysql char和varchar区别(MySQL CHAR和VARCHAR存储、读取时的差别)
- windowsserver远程登录和唤醒(Windows Server 2016远程桌面服务配置和授权激活2个用户)
- phpstudy安装教程详解学习(phpstudy下载安装简明图文教程)
- css3动画实现loading(CSS3实现粒子旋转伸缩加载动画)
- rem怎么设置适配(详解如何使用rem或viewport进行移动端适配)
- 详解如何获取localStorage最大存储大小的方法(详解如何获取localStorage最大存储大小的方法)
- docker本地项目生成镜像(docker images本地迁移的实现)
- navicat如何连接sql数据库(Navicat 连接SQLServer数据库图文步骤)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9