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

时间:2018-06-15 05:46:49

标签: laravel-5 laravel-blade

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

@extends('errors::layout')

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

所以我正在尝试使用控制器

return view('role::account.list');

并获得异常

 No hint path defined for [role].

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

谢谢。

2 个答案:

答案 0 :(得分:4)

最简单的方法是使用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');
}

允许你使用view namespace courier:

Route::get('admin', function () {
    return view('courier::admin');
});

您还可以使用使用FileViewFinder的View工厂来使用幕后运行的逻辑:

app('view')->addNamespace('role', resource_path('views/role'));

通过FileViewFinder的Factory可以提供更多方法,您可以像这样检索取景器:

app('view')->getFinder();

答案 1 :(得分:1)

像这样添加提示路径:

Sample_FUN <- function(x){
              if (nrow(x) <= 5000) sample_n(size = nrow(x), replace = F,x) 
              else sample_n(size = 5066, replace = F,x)
              } 

diamonds %>% split(.$clarity) %>% map(Sample_FUN) %>% bind_rows()

您可以在控制器或中间件中完成它。

如果以后要更改它,只需执行以下操作:

app('view')->addNamespace('role', config('view.paths')[0].'/roles/visitor');

是的,该错误显示“提示路径”和一个名为“ addNamespace”的函数是荒谬的。 令人不安的是,这不是文档的一部分。