laravel服务提供者应用场景(Laravel如何创建服务器提供者实例代码)
类别:编程学习 浏览量:680
时间:2022-03-31 00:33:16 laravel服务提供者应用场景
Laravel如何创建服务器提供者实例代码前言
Laravel服务器容器:是用于管理类依赖和执行依赖注入的工具。下面我们演示下如何创建服务器提供者,它是Laravel的核心。话不多说了,来一起看看详细的介绍吧
在app/Contracts目录下创建TestContract.php文件,其内容为:
|
<?php namespace App\Contracts; interface TestContract { public function callMe( $controller ); } |
在app/Services目录下创建TestService.php文件,其内容为:
|
<?php namespace App\Services; use App\Contracts\TestContract; class TestService implements TestContract { public function callMe( $controller ){ dd( "Call me from TestServiceProvider in " . $controller ); } } |
在config/app.php文件中providers中添加内容,以便进行注册:
|
... App\Providers\RiakServiceProvider:: class , |
创建1个服务提供类:
|
php artisan make:provider RiakServiceProvider |
其内容为:
|
<?php namespace App\Providers; use App\Services\TestService; use Illuminate\Support\ServiceProvider; class RiakServiceProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { $this ->app->bind( "App\Contracts\TestContract" , function (){ return new TestService(); }); } } |
在ServiceProvider中提供了2个方法,其中register方法用于注册服务,而boot用于引导服务。
在控制器IndxController中添加如下内容:
|
<?php namespace App\Http\Controllers; use App; use Illuminate\Http\Request; use 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 TestServiceProvider in IndexController"
另外,还可以使用App的make方法进行调用。
|
public function index(){ $test = App::make( 'test' ); $test ->callMe( 'IndexController' ); } |
其结果也是一样的。
参考文章:
- https://laravelacademy.org/post/796.html
- https://laravelacademy.org/post/93.html
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。
原文链接:http://blog.hellopython.wang/laravel-serviceprovider/
您可能感兴趣
- 阿里云服务器远程连不上(阿里云服务器重置后无法远程登录解决方案)
- 如何来确定云服务器ecs的操作系统(远程登录Windows系统的ECS实例提示“远程桌面连接已断开”错误的解决方法)
- python ssh登录服务器(python利用跳板机ssh远程连接redis的方法)
- 云服务器是什么技术(云服务器有什么作用?云服务器成为趋势的理由)
- ftp软件filezilla安装不了(filezilla连不上FTP服务器的解决方法)
- 香港云服务器购买平台(游戏企业选择香港云服务器的理由)
- 阿里云ecs怎么当成云主机用(阿里云ECS服务器入门使用流程新手必看教程)
- 美国云服务器稳定吗(选择美国云服务器需要关注什么?)
- serv-u怎么用web登录(serv-u服务器的管理方法与功能分析)
- 手机无法与服务器建立安全连接(ftp无法与服务器建立连接)
- 云服务器与服务器的区别(云服务器与网站空间区别在于什么)
- 如何看云服务器日志(云服务器怎么查看日志的步骤)
- ftp服务器配置步骤(快速搭建一个本地的FTP服务器图文教程)
- 阿里云服务器端口开放(阿里云服务器Windows实例公网网络异常的解决方法)
- phpstudy配置教程(phpStudy2018安装教程及本地服务器的配置方法)
- 云服务器的使用技术(云服务器运行如何实现的原理)
- 它荣获 中国生态魅力镇 称号 就在咱们禹州,一起来看看(中国生态魅力镇)
- 真牛 禹州将建成中等城市(禹州将建成中等城市)
- 被骂欺师灭祖,与郭德纲公开叫板,何云伟改名何沄伟,开始画画了(与郭德纲公开叫板)
- 相声转行影帝,被何晴抛弃,甩10年女友闪婚生子,刘威不靠谱情史(相声转行影帝被何晴抛弃)
- 岳云鹏不说相声,改行演员了 网友 快回来说相声(岳云鹏不说相声)
- 乔欣首演古装大女主,颜值演技双在线(乔欣首演古装大女主)
热门推荐
- ddos防御实例(浅析云主机防ddos的基础防御)
- win7搭建ftp服务器(Windows服务器之“FTP服务器搭建”图文教程)
- 云服务器性能怎么判断(云服务器的负载能力怎么样)
- sqlserver基础查询语句(SQL Server子查询的深入理解)
- web界面测试中需要测试的几个点
- python线程自动停止了(解决Python中定时任务线程无法自动退出的问题)
- css中background image重复平铺(解决CSS 中box-sizing与background-clip解决背景显示范围的问题)
- 阿里云ecs服务器挂了怎么办(阿里云服务器ECS不支持合并多块数据盘怎么办?)
- mysqljoin默认是什么(mysql-joins具体用法说明)
- php项目开发实例(php项目中类的自动加载实例讲解)