Laravel:修剪包含的模板
Posted
技术标签:
【中文标题】Laravel:修剪包含的模板【英文标题】:Laravel: trim included template 【发布时间】:2019-02-25 16:40:50 【问题描述】:我有一个名为include/data.blade.php
的模板文件,文件末尾以换行符结尾。 (这是我不想更改的 IDE 默认配置)
提到的模板通过以下方式包含在另一个模板中:
# parent blade template
<script>
let tpl = '@include("include.data")';
</script>
由于data.blade.php
以空行结尾,模板渲染后我在浏览器中收到一个javascript错误:
Uncaught SyntaxError: Invalid or unexpected token
问题是:我可以以任何方式修剪包含的模板吗?
【问题讨论】:
【参考方案1】:这是 laravel 5.6+ 的解决方案。
在AppServiceProvider::boot()
中注册一个新的trim
刀片指令:
//Register starting tag
Blade::directive('trim', function()
return '<?php ob_start() ?>';
);
//Register ending tag
Blade::directive('endtrim', function()
return "<?php echo trim(ob_get_clean()); ?>";
);
使用注册指令如下:
# parent blade template
<script>
let tpl = '@trim @include("include.data") @endtrim';
</script>
【讨论】:
以上是关于Laravel:修剪包含的模板的主要内容,如果未能解决你的问题,请参考以下文章
修剪 Laravel 中所有 Eloquent 模型的所有字符串属性