[英]how to echo strings and variable simultaneously in laravel blade template engine?
我在我的PHP文件中使用以下代码:
layout.blade.php
{{ HTML::script('js/abc.js'); }}
问题是abc
对于不同的页面将有所不同,因此我需要将其更改为变量(即$js
)以使值动态。
目前,我正在使用:
{{ HTML::script('js/'.$js.'.min.js') }}
实现。
我想知道这是否是常规的方法吗? 还是有更好的方法?
而且我尝试使用{{ HTML::script('js/'.$js.'.min.js') or ''}}
检查$js
的存在,但无法正常工作。 @if (isset($js))
我唯一的解决方案吗?
谢谢。
您使用HTML::script
方式并不可怕,这是完成工作的可接受方式!
但是,我建议您使用Form宏,如果出于任何其他原因,那么在阅读模板时它看起来会更好,因为我尝试避免在视图中使用尽可能少的PHP。
在您的app/start.php
文件中,输入以下内容:
Form::macro('javascript_file', function($js = null) {
if ($js === null) return;
return HTML::script( 'js/'.$js.'.min.js');
}
然后,您可以在模板内部:
@if isset($js)
{{ Form::javascript_file($js); }}
@endif
可悲的是,没有办法在调用javascript_file之前检查$ js是否已设置,而且看起来也不难看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.