这里详细描述问题
我在用路由分组中限流操作
这个我的代码
Route::group('/login', function () {
Route::any('/account_login', [\app\openapi\controller\LoginController::class, 'account_login']);
})->setParams(['visit_rate' => '20/m',
])->middleware(\app\middleware\Throttle::class);;
用的环境是php8.0
"workerman/webman-framework": "v1.5.16",
提示webman的一个方法不存在,很容易联想到webman版本低,升级webman应该就搞定了
我的已经是最新版本的了
返回的是
Webman\Route
自身实例,并不是Webman\Route\Route
,所以调用setParams的对象是Webman\Route\Route
对象。大佬确实这个原因,但是我引用
use Webman\Route\Route;
Route::group('/openapi', function () {
Route::group('/v1', function () {
// Route::resource('/login', \app\openapi\controller\LoginController::class, ['account_login']);
Route::group('/login', function () {
Route::any('/account_login', [\app\openapi\controller\LoginController::class, 'account_login']);
})->middleware(\app\middleware\Throttle::class)->setParams();
});
});
就会提示group和any等不存在这是什么问题呢
Error: Call to undefined method Webman\Route\Route::group() in D:\phpstudy_pro\WWW\iot_pc\app\openapi\config\route.php:17
看看这两个类的源码吧,不是这么用的
好的谢谢
感谢,已经解决
我最近使用发现一个问题,在一个路由组中设置一个路由有限流,一个没有限流,请求没有限流的路由然后再请求有限流的路由就直接不能访问了,这个问题你遇到了吗?