【问题标题】:Pre-process Laravel 4 view预处理 Laravel 4 视图
【发布时间】:2013-05-07 09:08:05
【问题描述】:

我想在渲染视图之前对其进行预处理并生成一个新文件,然后让它加载新文件。

我查看了 Packages/Service 提供程序或创建了一个自定义 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

【问题讨论】:

  • 您是在尝试缓存渲染视图,还是对其进行其他预处理? Laravel 已经将编译后的模板缓存为 PHP;但不是渲染的输出。如果是这种情况,那么最好考虑编写自己的 CachedView 类,用一些缓存来包装视图。
  • @PhillSparks 我想使用自定义翻译标记对翻译进行预处理。

标签: preprocessor laravel laravel-4


【解决方案1】:

试试View::swap(new CustomView);

所有的门面都有 swap() 可用。我自己用它来用我自己的类交换 Hash 函数,这样我就可以在现有项目中使用 Laravel。

【讨论】:

  • 我不知道 CustomView 应该扩展什么类,有什么想法吗?
  • 我知道这不像扩展哈希函数那么容易,这里帮不了你!
猜你喜欢
  • 1970-01-01
  • 2013-12-08
  • 2013-08-03
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多