内容简介:下面我们演示下如何创建服务器提供者,它是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');
}
其结果也是一样的。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Laravel初级教程之服务提供者
- [ Laravel 5.7 文档 ] 底层原理 —— 服务提供者
- 干货 | 研究以太坊 2.0 中的状态提供者模型
- Laravel Providers——服务提供者的注册与启动源码解析
- 服务提供者(provider)与服务消费者(ribbon版本)-微服务架构
- 创新中关村报道称 Cocos 开发者沙龙为开发者、技术提供者等提供了交流合作平台
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UNIX环境高级编程
W.Richard Stevens、Stephen A.Rago / 尤晋元、张亚英、戚正伟 / 人民邮电出版社 / 2006年 / 99.00元
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息......一起来看看 《UNIX环境高级编程》 这本书的介绍吧!