国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

控制器空方法接管的問題 有些成功 有些失敗

forwebreg

在test控制器內(nèi)接管方法
public function __call($method, $request)
{
$path = explode('/', request()->path());
$action = $path[4] ?? 'index';
$class = "resource\" . $method;
$handler = new $class();
return $handler->$action($request);
}
當(dāng)請求一個不存在的地址
如test/demolist 可以成功接管到
但是當(dāng)請求test/demolist/create?xxx=xxx時 卻會被Route::fallback接管
這個是什么原因呢

485 1 0
1個回答

walkor 打賞

test/demolist/create?xxx=xxx 改成 test/demolist?xxx=xxx

  • forwebreg 2024-11-26

    額 這樣的話 不是不能區(qū)分請求的方法了嗎

  • walkor 2024-11-26

    你的 demolist 不是方法么?

  • walkor 2024-11-26

    demolist 改成其它值就行了啊

  • forwebreg 2024-11-26

    我是想把$method當(dāng)控制器用 create當(dāng)method用 把請求轉(zhuǎn)發(fā)到其他地方處理

  • walkor 2024-11-26

    php 里__call() 是用來調(diào)用當(dāng)前類不存在的方法時調(diào)用的,不是調(diào)用不存在的類的時候調(diào)用的,
    所以你說的無法通過 php 的__call()來實現(xiàn)。
    你可以設(shè)置 Route::fallback 來分析當(dāng)前url,自己分割然后決定調(diào)用哪個類的哪個方法。

  • forwebreg 2024-11-26

    額 你應(yīng)該沒有理解我的意思 我是在方法內(nèi)部示例化類 怎么實例化 取決于路徑和參數(shù)
    我奇怪的是 test/demolist 可以請求到 test類的_call方法 test/demolist/xxx 多一級就請求不到了

  • walkor 2024-11-26

    demolist/xxx 就不是一個合法的方法名,也就是不可能作為方法觸發(fā)__call()

    還有根據(jù)手冊,默認(rèn)路由 test/demolist/xxx 不會訪問 test控制器,它訪問的可能是
    訪問的是以下控制器
    test/controller/demolistController.php 方法名xxx
    controller/test/demolistController.php 方法名xxx
    不是訪問 test控制器

  • forwebreg 2024-11-26

    啊 對 controller是可以內(nèi)部加目錄的 忘了這個了

??