在特定的路由范围cakephp中调用中间件3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在特定的路由范围cakephp中调用中间件3相关的知识,希望对你有一定的参考价值。
我创建了一个自定义中间件,并尝试在cakephp 3.5.x中的Cases
下的特定路由范围中使用,
需求:
routes.php文件
use ApiMiddlewareCasesMiddleware;
Router::scope('/', function (RouteBuilder $routes) {
$routes->registerMiddleware('CasesRequired', new CasesMiddleware());
Router::scope('/Cases', function (RouteBuilder $routes) {
$routes->applyMiddleware('CasesRequired');
}
}
但这不起作用。但是,当我把$routes->applyMiddleware('CasesRequired')
,外部路由范围cases
然后它的工作如下,
Router::scope('/', function (RouteBuilder $routes) {
$routes->registerMiddleware('CasesRequired', new CasesMiddleware());
$routes->applyMiddleware('CasesRequired');
Router::scope('/Cases', function (RouteBuilder $routes) {
}
}
请建议出现问题的原因.......只能在路由范围Cases
下调用中间件。
答案
use ApiMiddlewareCasesMiddleware;
Router::scope('/', function (RouteBuilder $routes) {
$routes->registerMiddleware('CasesRequired', new CasesMiddleware());
$routes->scope('/Cases', function ($routes) {
$routes->applyMiddleware('CasesRequired');
}
}
以上是关于在特定的路由范围cakephp中调用中间件3的主要内容,如果未能解决你的问题,请参考以下文章