在Laravel中,有以下幾種方式可以實現依賴注入:
class ExampleController extends Controller
{
protected $dependency;
public function __construct(DependencyClass $dependency)
{
$this->dependency = $dependency;
}
}
class ExampleController extends Controller
{
public function exampleAction(DependencyClass $dependency)
{
// 使用依賴對象
}
}
// 在服務提供者中綁定接口和實現的關系
$this->app->bind(InterfaceClass::class, ImplementationClass::class);
// 在需要使用依賴對象的地方進行注入
class ExampleController extends Controller
{
public function exampleAction(InterfaceClass $dependency)
{
// 使用依賴對象
}
}
app()
函數或resolve()
方法來手動解析依賴對象并進行方法調用。例如:$dependency = app(DependencyClass::class); // 使用app()函數解析依賴對象
$dependency = resolve(DependencyClass::class); // 使用resolve()方法解析依賴對象
$dependency->exampleMethod(); // 調用依賴對象的方法