当前位置 : 主页 > 网络编程 > PHP >

Laravel — P50:路由和依赖注入

来源:互联网 收集:自由互联 发布时间:2023-09-03
我们在前几篇文章中介绍了一些依赖注入主题,但现在我们想开始更具体一些。我们终于进入了 Laravel 的更高级部分,并将开始关注 Laravel 特定领域内的特定主题。接下来的几篇文章将

我们在前几篇文章中介绍了一些依赖注入主题,但现在我们想开始更具体一些。我们终于进入了 Laravel 的更高级部分,并将开始关注 Laravel 特定领域内的特定主题。接下来的几篇文章将处理路由。在本文中,我们将重点关注路由中的依赖注入,这非常简单。

在您的路由中,您可以将任何依赖项键入提示到您的回调签名中。如果您使用控制器,类型提示将出现在方法级别。

use Illuminate\Http\Request;

Route::get('/dependency-route-example', function (Request $request) {
return $request->input('name');
});

您现在可以访问路由,​​Request​​依赖项将自动注入到路由中。

​http://0.0.0.0/dependency-route-example?name=Dino​

其他参数的依赖注入

您可能希望将参数传递给您的路由,并通过类型提示使用依赖注入。你可以这样做。只需确保在所有依赖类型提示之后声明您的参数即可。

use Illuminate\Http\Request;

Route::get('/dependency-route-example/{id}', function (Request $request, $id) {
return $id . ": " . $request->input('name');
});

​http://0.0.0.0/dependency-route-example/33?name=Dino​

访问上面的路线将产生:​​33: Dino​​.

我们可以注入多个依赖项并使用参数吗?当然。在上一篇文章中,我们创建了​​app/Services/CapitalizeStringService​​类。

<?php

namespace App\Services;

class CapitalizeStringService
{
public function capitalize($string)
{
return strtoupper($string);
}
}

要注入和使用此类,我们只需在路由中的 URL 参数之前键入提示即可。

Route::get('/dependency-route-example/{id}', 
function (Request $request, CapitalizeStringService $capitalizeStringService, $id)
{
return $id . ": " . $capitalizeStringService->capitalize( $request->input('name') );
}
);

访问我们的路线现在会产生​​name​​字符串的大写版本:​​33: DINO​​。

只要你相信 Laravel 会在你输入提示时处理依赖注入,你就不需要关心更多了。当我们到达控制器部分时,我们将完全涵盖控制器中的依赖注入。

上一篇:Laravel — P49:依赖注入
下一篇:没有了
网友评论