繁体   English   中英

如何在laravel刀片模板引擎中同时回显字符串和变量?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM