use Webman\Route;
Route::group('/blog', function () {
Route::any('/create', [app\controller\UserController::class, 'hello'])->name('11222');
});
public function hello(Request $request)
{
$route = $request->route;
var_export($route->getPath());
var_export('ok');
// return response('name ' . $route->getName());
}
Error: Call to undefined method Webman\Route\Route::getPath()
https://www.workerman.net/doc/webman/request.html#%E8%8E%B7%E5%8F%96%E8%AF%B7%E6%B1%82%E8%B7%AF%E5%BE%84
https://www.workerman.net/doc/webman/route.html#%E8%8E%B7%E5%8F%96%E8%B7%AF%E7%94%B1%E4%BF%A1%E6%81%AF
麻烦看下文档
$request->path();是可以获取到
$route = $request->route;
$route->getMethods(); 这个是报错
$route->getName();这个是正常
$request->method();
$route是不行吗?
$route->getMethods(); 得到的是这东西 ["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"] ,而且你要走路由管理的路由,不然$route是null
$route不是null,上面我说错了,是$route->getPath()报错
走路由管理配置的没有任何问题,你说$route不是null,打印截图贴出来。
Error: Call to undefined method Webman\Route\Route::getPath() 报错这这里呢,你别骗我,我读书少
看打印截图
OK的
我也不明白,只有$route->getPath()报错
你代码发我邮箱我瞧瞧 270723814@qq.com
我是刚学习,就按照文档做的,就这一段代码
$route = $request->route;
var_dump($route->getPath());
执行composer info 看下版本 webman-framework 版本
版本是"workerman/webman-framework": "^1.4.3"
打开Webman\Route\Route 这个类,看下getPath方法是否存在。
没有getPath
我在win上面又试了试,没有问题
在docker出现了问题
docker 里执行 composer info 看下版本
Composer version 2.0.14
我的那个截图那个东西
$route->routegetPath()
composer info 看下 webman-framework 版本
workerman/webman-framework v1.4.9
https://github.com/walkor/webman-framework/blob/v1.4.9/src/Route/Route.php#L106
那就是你不小心改动了webman-framework 源码了
没有getPath,有routegetPath
源码我没有改过
看了一下webman-framework源码,getPath没问题,应该是你改动了源码,重新install试试