希望route类提供更多的接口

ala3246875

例如我的url 有1个参数id是加密过的,要用中间件解密的话,没有找到相关接口。只能到控制器里解密,很麻烦的。希望支持。

laravel 是支持的,解密后,送回路由里
参考:
public function handle(Request $request, Closure $next, ...$parameter)
{
$router = Route::current();
$parameterNames = $router->parameterNames();
if ($parameterNames) {
if (! empty($parameter)) {
foreach ($parameter as $v) {
$this->decodeParameter($router, $v);
}
} else {
foreach ($parameterNames as $v) {
$this->decodeParameter($router, $v);
}
}
}
return $next($request);
}

private function decodeParameter($router, $parameterName)
{
    if ($router->hasParameter($parameterName)) {
        $code = $router->parameter($parameterName);
        $decode_id  =   CCommon::hashids_decode_id($code);

        if (is_false($decode_id)) {
            abort(404);
        }

        $router->setParameter($parameterName, $decode_id);
    }
}
1044 1 0
1个回答

walkor 打赏

public function handle(Request $request, Closure $next, ...$parameter)
没看明白,参数是如何传进去的?

  • 暂无评论
年代过于久远,无法发表回答
×
🔝