2013-05-06 100 views
0

我想要在處理視圖之前通過處理視圖並生成新文件,然後使其加載新文件。預處理Laravel 4視圖

我看了一下Packages/Service providers或者創建一個自定義的View類,它在Illuminate\View中擴展了一些類並且用App::bind('view', 'CustomView')劫持了它,但都沒有像我想要的那樣工作。

這是可能以某種方式?

實施例:

  1. View::make('some_view');
  2. 檢查some_view已經改變,如果是這樣前處理並將結果保存在一些緩存目錄,例如app/storage/cache/some_view.blade.php
  3. 改爲View加載app/storage/cache/some_view.blade.php
+0

你試圖緩存渲染的視圖,還是做一些其他的預處理? Laravel已經將編譯後的模板緩存爲PHP;但不是渲染的輸出。如果是這種情況,那麼考慮編寫自己的CachedView類可能會更好些,該類使用一些緩存來封裝視圖。 – 2013-05-06 14:21:16

+0

@PhillSparks我想用自定義翻譯標記預處理翻譯。 – Znarkus 2013-05-06 19:26:47

回答

0

嘗試View::swap(new CustomView);

所有外牆有互換()可用。我自己用它來將Hash函數與我自己的類交換,以便可以將Laravel與現有項目一起使用。

+0

我無法弄清楚CustomView應該擴展什麼類,有什麼想法? – Znarkus 2013-05-07 06:58:19

+0

我看到這不像擴展散列函數那麼簡單,不能幫你在這裏! – Christian 2013-05-07 17:45:04