Laravel 8 如何使用契约
2021-07-13 11:35 更新
那么,如何实现契约呢?它其实很简单。
Laravel 中的许多类都是通过 服务容器 解析的,包括控制器、事件侦听器、中间件、队列任务,甚至路由闭包。因此,要实现契约,您只需在被解析的类的构造函数中「类型提示」接口。
例如,查看此事件侦听器:
<?php
namespace App\Listeners;
use App\Events\OrderWasPlaced;
use App\Models\User;
use Illuminate\Contracts\Redis\Factory;
class CacheOrderInformation
{
/**
* Redis 工厂实现
*/
protected $redis;
/**
* 创建一个事件处理实例
*
* @param Factory $redis
* @return void
*/
public function __construct(Factory $redis)
{
$this->redis = $redis;
}
/**
* 处理事件
*
* @param OrderWasPlaced $event
* @return void
*/
public function handle(OrderWasPlaced $event)
{
//
}
}
当解析事件侦听器时,服务容器将读取类的构造函数上的类型提示,并注入适当的值。 要了解更多有关在服务容器中注册内容的信息,请查看 其文档。
以上内容是否对您有帮助:
更多建议: