Laravel 5.我想稍后设置视图的路径。但创建一个实例,以便我可以为其设置数据。
所以结果是:
$view = new View();
$view->with('key', $data);
$view->setPath($path);
$view->render();
这可能吗?
不,这是不可能的。因为
Illuminate\View\View
构造函数需要 view path
作为参数。
一种方法是创建一个简单的自定义类
View
。其内容将是:
public function __construct($data = null) {
if ($data) {
$this->data = $data;
}
}
public function with($key, $val) {
if (is_array($key)) {
$this->data = array_merge($this->data, $key);
} else {
$this->data[$key] = $val;
}
}
public function setPath($path) {
$this->path = $path;
}
public function render() {
return view($this->path, $this->data);
}
它允许管理视图流。