Laravel 实现在Blade模版中使用全局变量代替路径的例子

吾爱主题 阅读:157 2021-09-10 16:21:00 评论:0

在使用tp框架时,我们可以用常量来代替文件路径,如:

?
1 <img class = "style" src= "__TMPL__/uploads/ad/{$item.config.shop_image}" >

我们只需要在配置文件中设置即可,

?
1 TMPL_PARSE_STRING ' => array(              ' __TMPL__ ' => __ROOT__.' /tpl ',            ' __UPLOAD__' => __ROOT__. "/Data/upload" )

但是在laravel框架中想要使用这种方式,却不知从何入手,然后就各种找资料,后来就用变量代替了常量。

方法一:

在laravel框架中可以视图中共享数据,利用共享数据的方式将路径设置为变量即可,在app\Providers\AppServiceProvider.php的boot方法中添加代码:

?
1 View::share( "boot" , "/resources/assets/" );

然后在blade模板中直接使用{{ $boot }}就可以获取到所设置的值,这样在引用资源时就不用谢全路径了

方法二:

由于 Blade 模版中允许使用原生 PHP 代码,所以我们可以在页面前面使用 PHP 语句来定义变量:

?
1 <?php $boot = "/resources/assets/" ; ?>

然后在需要的地方直接使用{{ $boot }}就可以获取到所设置的值;

方法三:

除了上面的方法,我们还可以使用 Blade 的注释语法来定义/设置变量。由于在 Blade 中 {{-- 这里是注释 --}} 会被解析为 <?php /* 这里是注释 */ ?>,所以我们可以使用下面这样的语句来定义变量:

?
1 2 3 {{-- */ $i =0; /* --}} // 这条语句会被 Blade 解析为 <?php /* */ $i =0; /* */ ?>

当然,我们还可以通过扩展 Blade 模版引擎的方法来实现,具体扩展方法可以参考 官方文档

以上这篇Laravel 实现在Blade模版中使用全局变量代替路径的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/robin_sky/article/details/80591655

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容