Laravel 类和接口注入相关
来源:互联网 发布:淘宝生日福利 编辑:程序博客网 时间:2024/06/06 03:03
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
。
0 0
- Laravel 类和接口注入相关
- laravel 服务类的自动注入
- Laravel 类加载,依赖注入&门面
- Servlet的相关类和接口
- Servlet的相关类和接口
- 接口和抽象类相关面试题
- quartz初探--相关类和接口
- 详解Laravel依赖注入(DI)和Ioc容器
- 详解Laravel依赖注入(DI)和Ioc容器
- laravel的依赖注入
- laravel依赖注入原理
- laravel依赖注入浅析
- laravel依赖注入原理
- laravel依赖注入
- Python中接口定义和依赖注入
- laravel接口跨域
- laravel学习之依赖注入
- 依赖注入,IOC ,laravel核心
- java的内存可见性
- AKKA学习笔记
- 同步机制摘要
- Java总结篇系列:Java多线程(一)
- HDU 5926 Mr. Frog’s Game
- Laravel 类和接口注入相关
- css常用属性总结-盒子模型
- 自定义垂直方向滑动的ViewGroup
- 【51Nod 1362】搬箱子
- 面试经验C++(试题)
- 代码整洁之道
- 工作问题小结——利用闭包隔一定时间调用某个方法
- Git 常用命令大全
- 每天一个Linux命令(3):pwd命令