前言
laravel服务器容器:是用于管理类依赖和执行依赖注入的工具。下面我们演示下如何创建服务器提供者,它是laravel的核心。话不多说了,来一起看看详细的介绍吧
在app/contracts目录下创建testcontract.php文件,其内容为:
<?php namespace app\contracts; interface testcontract { public function callme($controller); }
在app/rvices目录下创建testrvice.php文件,其内容为:
<?php namespace app\rvices; u app\contracts\testcontract; class testrvice implements testcontract { public function callme($controller){ dd("call me from testrviceprovider in ".$controller); } }
在config/app.php文件中providers中添加内容,以便进行注册:
... app\providers\riakrviceprovider::class,
创建1个服务提供类:
php artisan make:provider riakrviceprovider
其内容为:
<?php namespace app\providers; u app\rvices\testrvice; u illuminate\suppor李峤的风t\rviceprovider; clas情不自禁造句s riakrviceprovider extends rviceprovider { /** * bootstrap the application rvices. * * @return void */ public function boot() { // } /** * register the application rvices. * * @return void */ public function register() { $this->app->bind("app\contracts\testcontract",function(){ return new testrvice(); }); } }
在rviceprovider中提供了2个方法,其中register方法用于注册服务,而boot用于引导服务。
在控制器indxcontroller中添加如下内容:
<?php namespace app\http\controllers; u app; u illuminate\http\request; u 爬山减肥app\contracts\testcontract; class indexcontroller extends controller { public function __construct(testcontract $test){ $this->test = $test; } public function index(){ $this->test->callme("indexcontroller"); } }
访问浏览器可以得到如下的结果:
“call me from testrviceprovider in indexcontroller”
另外,还可以使用app的make方法进行调用。
public function index(){ $test = app::make('test'); $test->callme('indexcontroller'); }
其结果也是一样的。
参考文章:
https://laravelacademy.org/post/796.htmlhttps://laravelacademy.org/post/93.html总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价上海高考满分作文高二下值,谢谢大家对www.887551.com的支持。
本文发布于:2023-04-07 10:37:20,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/334731eb7597df594ede8866e7a172eb.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Laravel如何创建服务器提供者实例代码.doc
本文 PDF 下载地址:Laravel如何创建服务器提供者实例代码.pdf
留言与评论(共有 0 条评论) |