如何为laravel刀片定义提示路径

Yev*_*yev 2 laravel-5 laravel-blade

例如403.blade,如果您进入错误刀片文件,您将看到它使用如下结构:

@extends('errors::layout')
Run Code Online (Sandbox Code Playgroud)

我想使用相同的结构或至少了解它是如何工作的。

所以我正在尝试从控制器

return view('role::account.list');
Run Code Online (Sandbox Code Playgroud)

并获得例外

 No hint path defined for [role].
Run Code Online (Sandbox Code Playgroud)

我知道它没有定义,但我如何定义它?

谢谢你。

Luc*_*eos 7

最简单的方法是使用 ServiceProvider 和loadViewsFrom调用:

https://laravel.com/docs/5.6/packages#views

/**
 * Perform post-registration booting of services.
 *
 * @return void
 */
public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
}
Run Code Online (Sandbox Code Playgroud)

将允许您使用视图命名空间 courier:

Route::get('admin', function () {
    return view('courier::admin');
});
Run Code Online (Sandbox Code Playgroud)

您还可以通过使用使用 FileViewFinder 的视图工厂来使用在幕后运行的逻辑:

app('view')->addNamespace('role', resource_path('views/role'));
Run Code Online (Sandbox Code Playgroud)

通过工厂或通过 FileViewFinder 有更多可用的方法,您可以像这样检索查找器:

app('view')->getFinder();
Run Code Online (Sandbox Code Playgroud)