找了文檔,源碼都沒有發(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)限管理。
我發(fā)現(xiàn)使用workerman的都是大佬啊,都會(huì)自個(gè)動(dòng)手寫代碼,菜菜的我打心底崇拜!
這個(gè)功能太實(shí)用了,這樣可以在模板里就不用寫死了。
謝謝大佬們的辛苦付出。