标签:定义 实例 通过 app 容器 继承 weight 1.5 on()
<?php
namespace App\Contracts;
interface SuperModuleContract { //激活超能力
public function activate(array $target);
}
<?php namespace App\Services;
use App\Contracts\SuperModuleContract;
class XPower implements SuperModuleContract { public function activate(array $target) {
// 这只是个例子。。具体自行脑补
} }
<? php namespace App\Providers; use Illuminate\Support\ServiceProvider; use App\Services\XPower;
class XPowerProvider extends ServiceProvider { public function boot() { // } public function register() { //singleton绑定单例 //如何使用:App::make(‘xpower‘)方法时调用
$this->app->singleton(‘xpower‘,function(){ return new XPower(); });
//bind绑定实例到接口以便依赖注入 // 如何使用:在类构造方法中实例化,并指定接口类型
$this->app->bind(‘App\Contracts\SuperModuleContract‘,function(){ return new XPower(); }); }
}
‘providers‘ => [ //其他服务提供者 App\Providers\XPowerProvider::class, ],
laravel框架之服务提供者(提及契约Contracts)
标签:定义 实例 通过 app 容器 继承 weight 1.5 on()
原文地址:http://www.cnblogs.com/redirect/p/6087810.html