是否可以让Laravel加载带有.html扩展名的视图模板?
我正在重建现有的应用程序,该应用程序包含一堆由用户上传的.html文件。这是一种多租户应用程序,每个用户都可以通过上传模板来控制其区域的外观。
我需要重建应用程序并使更改对用户完全透明,因此我希望保留.html扩展名。
答案 0 :(得分:6)
我找到的最好方法是在基本控制器中使用View :: addExtension;
这是我的代码示例:
查看:: addExtension( 'blade.html', '叶片');
class BaseController extends Controller {
/**
* Setup the layout used by the controller.
*
* @return void
*/
protected function setupLayout()
{
// Allows us to use easy-to-edit html extension files.
// You can set 2nd param to 'php' is you want to
// just process with php (no blade tags)
View::addExtension('blade.html','blade');
if ( ! is_null($this->layout))
{
$this->layout = View::make($this->layout);
}
}
}
答案 1 :(得分:-2)
我担心Blade引擎只会加载.php
和.blade.php
个文件。
根据您的描述,我假设视图文件是静态的,因为它们只是HTML。
如果是这样,在用户上传视图文件后将它们重命名为.php
- 不应该对您的应用程序产生性能影响,因为无论如何都无需处理。