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

webman路由獲取別名

supereric

找了文檔,源碼都沒有發(fā)現(xiàn)獲取路由別名的方法,于是自己在webman源碼下小小修改了一下代碼,希望以后更新版本中能增加獲取路由別名的方法~

vendor/workerman/webman-framework/src/Route.php 增加以下代碼

    protected static $_callBackName = [];

    public static function setCallBackByName($callBack,$name){
        self::$_callBackName[$callBack] = $name;
    }

    public static function getCallBackByName($callBack){
        return self::$_callBackName[$callBack]??'';
    }

    public static function getAllCallBack(){
        return self::$_callBackName;
    }

    public static function getCurrentName(){
        return self::getCallBackByName(self::getCurrentCallBack());
    }

    public static function getCurrentCallBack(){
        $request = App::request();
        return $request->controller.'@'.$request->action;
    }

vendor/workerman/webman-framework/src/Route/Route.php
76行 public function name 函數(shù)下增加代碼

public function name($name)
    {
        $this->_name = $name;
        Router::setByName($name, $this);
        Router::setCallBackByName($this->_callback,$name); //增加這行代碼
        return $this;
    }

調(diào)用方法為

use Webman\Route;
Route::getCurrentName();

當(dāng)然要注意的是路由代碼為

Route::any('/siteConfig/index', 'app\admin\controller\siteConfig@index')->name('siteConfigIndex');

當(dāng)然我是很不喜歡修改源碼。
可是我很喜歡這個(gè)框架,在弄自己的后臺(tái)管理系統(tǒng)。實(shí)在不得已改了一下。
修改此方法是為了權(quán)限管理。

3868 4 1
4個(gè)回答

askuiop

我也覺得能獲取路由名稱是有必要的。

  • 暫無評(píng)論
大好時(shí)光

作者可以發(fā)個(gè)pr合并進(jìn)去框架嗎?這個(gè)很需要用到啊

  • 暫無評(píng)論
walkor 打賞

已經(jīng)支持獲取當(dāng)前請(qǐng)求路由,請(qǐng)更新。
composer require workerman/webman-framework ^1.3.2

獲取路由別名方法

$request->route->getName();
liziyu

我發(fā)現(xiàn)使用workerman的都是大佬啊,都會(huì)自個(gè)動(dòng)手寫代碼,菜菜的我打心底崇拜!

這個(gè)功能太實(shí)用了,這樣可以在模板里就不用寫死了。

謝謝大佬們的辛苦付出。

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??