這里寫問題描述
如題。比如路由/admin/article/index,用request()->controller獲取的值希望是article。而不是App\Admin\Controller\ArticleController這種。
或者,是不是有其他框架內(nèi)已經(jīng)寫好的方法
/**
* @param Request $request
* @return \support\Response
*/
public function index(Request $request): \support\Response
{
return json($this->getClassName());
}
/**
* @return string
*/
private function getClassName(): string
{
$classFile = debug_backtrace()[1]['class'];
$map = explode('\\', $classFile);
$class = is_array($map) ? array_pop($map) : $map;
return str_replace('Controller', '', $class);
}
$controllerClass = request()->controller;
strtolower(substr($controllerClass, strrpos($controllerClass, '\') + 1));
這個(gè)好像沒有考慮到Controller后綴的情況。我已經(jīng)自己加了替換了。
$controllerMap = explode('\',request()->controller);
$controller = strtolower(str_replace(config('app.controller_suffix'),'',end($controllerMap)));