Laravel-根据文件的完整路径获取视图名称

时间:2020-01-26 06:11:57

标签: laravel view

我想知道是否可以基于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

我能做到吗?

谢谢

2 个答案:

答案 0 :(得分:0)

我刚找到解决方法。

a = 3 #raw_input

def fib_gen():
    a, b = 0, 1
    while 1:
        yield a
        a, b = b, a + b

fs = fib_gen()
next(fs)
for i in range(a):
    print (next(fs))

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

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

谢谢。

答案 1 :(得分:-1)

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

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;
}

或者如果您没有$ request想要的路线名称,则可以通过 Request

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