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

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

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

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

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

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

方法一:

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

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

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

方法二:

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

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

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

方法三:

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

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

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

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

(0)

相关推荐

  • 在Laravel 的 Blade 模版中实现定义变量

    有时候我们需要在 Laravel 的 Blade 模版中定义一些变量,而 Blade 却没有提供这样的方法,所以我们这里为大家分享两种可以实现在 Blade 模版中定义变量的方法. 方法一 由于 Blade 模版中允许使用原生 PHP 代码,所以我们可以使用 PHP 语句来定义变量: <?php $var = 'test'; ?> {{ $var }} 方法二 除了上面的方法,我们还可以使用 Blade 的注释语法来定义/设置变量.由于在 Blade 中 {{-- 这里是注释 --}} 会被解

  • laravel config文件配置全局变量的例子

    在laravel中 我们可以使用config()函数来获取bootstrap/cache/config.php中的内容. 使用如下命令,可以config/*下的所有配置文件中的内容保存到bootstrap/cache/config.php中.: php artisan config:cache 然后你可以在config/下新建任何的配置的文件,执行上面命令,然后使用config()函数读取. 调用config(wechatorder.appid).这样我们就可以使用这个变量了. 以上这篇lara

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

    在使用tp框架时,我们可以用常量来代替文件路径,如: <img class="style" src="__TMPL__/uploads/ad/{$item.config.shop_image}"> 我们只需要在配置文件中设置即可, TMPL_PARSE_STRING' => array( '__TMPL__' => __ROOT__.'/tpl', '__UPLOAD__' => __ROOT__."/Data/upload&

  • Laravel 如何在blade文件中使用Vue组件的示例代码

    Laravel 如何在blade文件中使用Vue组件,具体代码详情请看下文: 1. 安装laravel/ui依赖包 composer require laravel/ui 2.生成vue基本脚手架 php artisan ui react 系统还提供了非常便捷的auth脚手架,带登录注册. php artisan ui react --auth 3.组件位置 Vue组件ExampleComponent.vue将被放置在resources/js/components目录中.ExampleCompo

  • Laravel框架之blade模板新手入门教程及小技巧

    简介 Blade 是 Laravel 所提供的一个简单且强大的模板引擎.相较于其它知名的 PHP 模板引擎,Blade 并不会限制你必须得在视图中使用 PHP 代码.所有 Blade 视图都会被编译缓存成普通的 PHP 代码,一直到它们被更改为止.这代表 Blade 基本不会对你的应用程序生成负担. Blade 视图文件使用 .blade.php 做为扩展名,通常保存于 resources/views 文件夹内. 为什么要使用blade模板 容易理解,思路清晰 方便,直接可以在框架里使用,可以直

  • laravel 实现向公共模板中传值 (view composer)

    view composers 与视图有关,用在一个service provider 的boot()函数里,就是让一个view加载的时候,由于view composer的作用,去调用某个函数传个参啊啥的. 1,创建service provider php artisan make:provider ComposerServiceProvider 再把ComposerServiceProvider加到config/app.php里面 2,写view composer public function

  • Laravel实现通过blade模板引擎渲染视图

    laravel提供了blade模板引擎用于视图的渲染,在blade中可以直接使用PHP代码,并且blade最终也会被编译为php缓存起来,只有在blade文件被修改后才会重新编译,这一点可以节省开销提高应用性能.blade文件.blade.php作为视图文件存放于laravel的resource/views目录下. 1.定义模板 blade定义模板页面同创建html页面一样,只不过在适当的位置通过@section或@yield来占位,当其它页面引用模板页时将内容填充到占位的位置即可 <html>

  • Mybatis中设置全局变量的方法示例

    前言 在平时的工作中有时候是需要在配置文件中配置全局变量的,因为这些东西是不会变的,并且每个mapper都传参的话也显得有点繁琐,还好mybatis本身是支持全局变量的,今天工作中用到了,记录一下. mybatis可以设置全局变量,可以用于数据库类型的标示,比如:dbType=oracle .dbType=mysql; 可通过configurationProperties参数设置,设置方法如下: <bean id="sqlSessionFactory" class="o

  • python实现在windows服务中新建进程的方法

    本文实例讲述了python实现在windows服务中新建进程的方法.分享给大家供大家参考.具体实现方法如下: 需要安装的软件:python和pywin32,我这里装的分别是python-2.6.amd64.pywin32-217.win-amd64-py2.6 文件名:dma_ws.py #!python import win32serviceutil import win32service import win32event import os from subprocess import P

  • asp.net实现在非MVC中使用Razor模板引擎的方法

    本文实例讲述了asp.net实现在非MVC中使用Razor模板引擎的方法.分享给大家供大家参考.具体分析如下: 模板引擎介绍 Razor.Nvelocity.Vtemplate,Razor一般在MVC项目中使用,这里介绍在非MVC项目中的用法. 如何在非MVC中使用Razor模板引擎 借助于开源的RazorEngine,我们可以在非asp.net mvc项目中使用Razor引擎,甚至在控制台.WinForm项目中都可以使用Razor(自己开发代码生成器) 如何使用Razor 环境搭建: ① 添加

  • ThinkPHP模版中导入CSS和JS文件的方法

    本文实例讲述了ThinkPHP模版中导入CSS和JS文件的方法.分享给大家供大家参考.具体方法如下: 常用方法 1. css使用link 2. js使用src 用tp自己的导入标签import 导入Public文件夹下面的Js目录中的test.js文件,import标签可以省略type属性,默认就是js的文件 复制代码 代码如下: <import type='js' file='Js.test'> <import type='css' file='Css.test'> 不在Publ

随机推荐