Laravel如何创建服务器提供者实例代码
2019-04-15 18:02
786 查看
前言
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
总结
以上就是关于mongo模糊查询的简单使用,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- 代码示例演示如何创建 Socket 类的实例。
- Java thrift服务器和客户端创建实例代码
- android如何实现LBS定位实例代码
- 在Windows下如何解决Cocos2d-x中实例代码TestCpp找不到lib库文件的问题
- vue项目部署gitHub教程,如何创建github服务器
- 如何用代码爬抓电商数据(附淘宝API调用实例)
- Linux网络管理之五:vsftpd服务器的创建实例 推荐
- 如何把本地已有的项目传到服务器或某代码托管平台
- eclipse地下如何通过CVS同步代码服务器的代码
- [转载]使用反射技术动态创建类对象(实例代码)
- 通过代码实例说明如何化腐朽为优雅
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
- java 之如何创建单实例
- 如何重新创建Domino服务器的busytime.nsf或clubusy.nsf
- php创建文件目录实例代码
- C 创建链表并将信息存储在二进制文件中读取的实例代码
- Java如何根据类名和方法名创建类的实例,并调用对应方法?
- 如何在Drupal7中用代码批量创建节点、评论和分类
- 设计模式学习笔记:就一句话的创建实例是如何演变成工厂模式的?
- 如何使用iOS 8 指纹识别,代码、实例