2015-11-19 81 views
0

Laravel 5.我想稍後設置視圖的路徑。但創建一個實例,以便我可以爲其設置數據。Laravel:初始化後設置視圖的路徑

所以在結果:

$view = new View(); 
$view->with('key', $data); 
$view->setPath($path); 
$view->render(); 

這可能嗎?

回答

0

不,這是不可能的。因爲Illuminate\View\View構造函數需要作爲參數。

+0

我認爲這是laravel變得不那麼靈活的情況。正如我從這個例子和其他例子看到的,最好創建一個沒有參數的構造函數。 – FreeLightman

0

其中一種方法是創建一個簡單的自定義類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); 
} 

它允許管理視圖流。