Laravel-基于文件的完整路径获取视图名称

问题描述 投票:0回答:2

我想知道是否可以基于View name获得full path of the view file

代码示例(期望代码):

$full_path = "D:\laragon\www\my-laravel-app\resources\views\user\login.blade.php";
$view_name = get_view_name($full_path);

echo $view_name; 

// My expectation result should be $view_name = "user.login";
// 
// So, it should echo this ---> user.login

我能实现吗?

谢谢

laravel view
2个回答
0
投票

我刚找到解决方法。

function get_view_name($full_path){
    $view_root_path = config('view.paths')[0];

    $view_name = strtr($full_path, [
        $view_root_path.'/' => '',
        '.blade.php' => '',
        '/' => '.',
    ]);

    return $view_name;
}

但是我认为这是非常肮脏的解决方案。

所以,我仍然希望别人能得到更好和干净的解决方案。

谢谢。


-1
投票

您可以使用此名称获取路线名称

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

或者如果您没有$ request想要的路线名称,则可以使用Request类实现此目的>

use Illuminate\Http\Request

Request::route()->getName();
© www.soinside.com 2019 - 2024. All rights reserved.