首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将控制器中的变量引用到所有刀片Laravel 5

在 Laravel 5 中,如果你想将控制器中的变量引用到所有的视图(或称为“刀片”),你可以使用视图合成器(View Composer)

以下是如何实现的步骤:

  1. 创建视图合成器

首先,你可以使用 Artisan 命令来生成一个新的服务提供者,该服务提供者将包含你的视图合成器。

代码语言:javascript
复制
php artisan make:provider ViewComposerServiceProvider

这将在 app/Providers 目录下生成一个新的服务提供者文件。

  1. 注册视图合成器

打开新生成的 ViewComposerServiceProvider.php 文件,并在 boot 方法中注册你的视图合成器。

代码语言:javascript
复制
namespace App\Providers;

use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class ViewComposerServiceProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap services.
     *
     * @return void
     */
    publicboot()
    {
        View::composer('*', function ($view) {
            $view->with('variableName', 'Your variable value');
        });
    }
}

在上面的例子中,* 表示这个合成器将应用于所有的视图。你可以替换为特定的视图名称或视图组。

  1. 启用服务提供者

最后,你需要在 config/app.php 文件的 providers 数组中启用你的服务提供者。

代码语言:javascript
复制
'providers' => [
    // ...
    App\Providers\ViewComposerServiceProvider::class,
],
  1. 在视图中使用变量

现在,你可以在任何视图中使用 $variableName 变量了。

代码语言:javascript
复制
<p>{{ $variableName }}</p>

这样,你就可以在 Laravel 5 中将控制器中的变量引用到所有的视图中了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel学习笔记(三)——控制器,处理请求与返回响应

Laravel控制器 作用 和一般MVC框架Controller作用一样,在Laravel控制器主要作用是接受路由转发请求,从模型获取数据后,再将数据渲染到视图一并输出给用户。...控制器目录 第一章就有提到过,Laravel所有控制器都在 app/Http/Controllers/ 目录下。 控制器生成方式 利用自带artisan生成。(<-推荐) 新建空白文件。...PS:php命令请自行添加到全局变量;这条命令是在Laravel项目根目录下运行。...路由转发请求到控制器 转发请求到控制器路由规则 路由转发到控制器有两种写法,为了方便,我们经常选择第一种,而第二种也会在某些地方用到。(路由别名、路由群组等) <?...php Route::get('/', 'TestController@index');# 第一种,get请求"/"路径请求转发到TestControllerindex方法。

2K00

Vuebnb:一个用vue.js和Laravel构建全栈应用

在这篇文章,我会把它如何工作做一个高层次概述,好让你了解如何从零开始参与建设一个Vue/Laravel构建全栈应用。...图像滑块 主页上图像滑块使查看所有可用列表变得非常方便。一个CSS转换 transform: translate(..)用于图像移动到另一侧,而转换则提供滑动效果。...为了在会话持久化状态,我通过Ajax将它发送回存储在数据库服务器。通过Laravel验证接口来验证相关API调用。...例如,有一列数据是从Laravel到内页,Vue.js通过使用刀片视图来实现,可以很容易地使用模板变量向页面头部注入数据。这个数据可以在Vue应用程序中就初始化。.../application-development/full-stack-vuejs-2-and-laravel-5 如果你拿起一份感兴趣,可以使用促销代码fsvue15获得15%折扣。

6K10
  • Laravel 控制器:从 MVC 模式聊起

    MVC模式 所有业务逻辑一股脑放到控制器听起来挺不错,但是控制器更适合承担角色其实是负责对 HTTP 请求进行路由,因为还有很多其他访问应用方式,比如 Artisan 命令、队列、调度任务等等,控制器并非唯一入口...,所以不适合也不应该所有业务逻辑封装于此,过度依赖控制器会对以后应用扩展带来麻烦。...在 Laravel所有控制器方法(包括构造函数)都会在服务容器中进行解析,这意味着所有方法传入可以被容器解析接口/类型提示对应服务实现都会被自动注入,我们这个过程称之为依赖注入。...5、资源控制器 有时候在编写控制器时命名方法名称可能是最困难,好在 Laravel 为常见 REST/CRUD 控制器(在 Laravel 称之为「资源控制器」)提供了一套约定规则,并为此提供了相应...对资源路由命名约定,Laravel 还为我们提供了一个 Route::resource 方法用于一次注册包含上面列出所有路由,并且遵循上述所有约定: Route::resource('post'

    11.3K51

    全局梳理、分析、总结 laravel 核心概念

    路由缓存/清理 (注:基于闭包路由无法被缓存。要使用路由缓存,你需要将代码从闭包转移到控制器) 如果您应用程序只使用了基于控制器路由,那么您应该利用 Laravel 路由缓存。...路由缓存会大大减少注册所有路由所需时间。在某些情况下,路由注册速度甚至能快上 100 倍。...官方支持所有数据库驱动器。...(因 laravel 队列系统内容过多,这里只为参考者抛砖玉,详细自行goole) 06 — laravel 核心服务容器 Laravel 核心就是一个 IoC 容器,根据文档,称其为 “服务容器...绑定基础 绑定一个单例可以在 App\Providers\AppServiceProvider register 方法中注册。singleton 方法类或接口绑定到只解析一次容器

    6K41

    Laravel框架关键技术解析

    3.Laravel框架应用:大量使用,如在服务提供者注册过程,通过服务名称与提供服务匿名函数进行绑定,在使用时可以实现动态服务解析。...,默认内容不是必须 @include(‘子视图名称’):用于在视图文件中加载子视图文件,使得视图文件结构清晰 六、Laravel框架设计模式 A.服务容器 1.服务理解为系统运行需要东西,如对象...控制反转是组件间依赖关系从程序内部提到外部容器来管理,而依赖注入是指组件依赖通过外部以参数或其他形式注入,两种说法本质上是一个意思 5.Laravel:Illuminate\Container\Container...4.两个别名:一是容器核心别名,存在Application$aliases,另一个是外观别名,定义在app.php配置文件,程序运行后存储在AliasLoader类实例$aliases属性 5...十二、会话 A.Laravel框架session机制 1.当客户端访问服务器时,服务器开启session,检测请求Cookie是否携带sessionID,如果携带则使用该sessionID,

    12K20

    Laravel框架_php laravel框架

    二、简单介绍 1、laravel是基于mvc模式php框架,m——模型层,v——视图层,c——控制器层;以下为laravel框架目录文件,框出来文件目录将在后续中用到: 2、什么是MVC开发思想...Http下类文件,比如上面目录User.php、Menu.php文件是应用模型文件;   config目录是所有应用配置文件目录;   public是框架入口文件及静态资源文件目录;   ...三、laravel目录结构整体分析 四、laravel路由 (一):简介 在laravel,定义路由地方在routes/web.php文件。...在使用laravel前必须先定义路由,然后才能在浏览器访问。routes文件夹还有一个api.php,用于定义api路径。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站立刻删除。

    3.7K20

    Laravel 中使用 DingoAPI

    和 API_DOMAIN : 前缀和子域名, 前缀或子域名是必须,并且同时只有一个 API_NAME : API名字只有在使用API Blueprint命令生成文档时候才用到,这个名字作为默认名字以免生成文档时需要手动指定名字...,我们不可能所有的代码都放在路由文件。...接下来,我们新建控制器来替换路由示例代码。 首先,我们新建一个基类控制器,让我们所有其他控制器,默认继承我们新建控制器。...web 控制器区分,我们所有有关接口控制器都放到Api 目录下.增加 v1 和 v2 我们是为了后续版本管理 打开这两个控制器, 替换如下代码: <?...ok,以上就是 laravel 初步安装 DingoApi ,并且配置基础教程,更多使用请阅读 官方文档

    2.2K10

    Laravel框架下载,安装及路由操作图文详解

    Laravel | 5则表示安装成功 NO.2Laravel核心目录文件介绍 这个是为了帮助你们理解以后在运用Laravel框架时候代码如何存放,然后说明一点,我这是5.2版本Laravel。...目录二:bootstrap 这个目录主要是用来存放所有的第三方代码,包括框架函数源码(/vendor/laravel)、插件和扩展等。 ?...目录三:config 这个目录是网站访问入口,请求都会进入 index.php ,同时存放所有对外开放资源目录,如 css、javascript 以及图片等等皆被存放在此 ?...用于定义 Artisan 命令 routes/web.php 用于定义 Web 类型路由(重点,大部分情况下本书会用到) server.php 使用 PHP 内置服务器时 URL 重写(类似于 Apache...前端工作流配置文件 yarn.lock Yarn 依赖版本锁定文件 .gitignore 被 Git 所忽略文件 .env 环境变量配置文件 更多关于Laravel相关内容感兴趣读者可查看本站专题

    4.6K51

    Laravel系统3.3】控制器与表单验证

    之前在讲路由时候也说过这个问题,但是在 Laravel ,实现了路由和控制器解耦,所以我们控制器是可以随意定义并且命名,直接通过路由来进行绑定。...不记得小伙伴可以回到我们最早文章 PHP那些魔术方法(二)https://mp.weixin.qq.com/s/8WgQ3eVYKjGaEd2CwnB0Ww 复习一下,在 Laravel ,我们会用到很多之前学习过基础知识...其二,错误信息会直接传到模板一个 $errors 变量,这个也不是我们控制,也是框架自动处理,这个地方也是我们平常在写业务代码时候需要注意,因为这个变量名是写死在框架内部,不能修改。...() 添加到了模板 \errors 变量。...方法进行参数和规则匹配,并通过 addFailure() 方法匹配对应提示消息信息,最后这些信息放在 messages 属性

    8.7K20

    Laravel源码解析之中间件

    这样就做到了程序解耦,如果没有中间件那么我们必须在控制器来完成这些步骤,这无疑会造成控制器臃肿。...(laravel5.5开始CSRF中间件只自动应用到web路由上) 上面例子过滤请求叫前置中间件,完善响应叫做后置中间件。用一张图可以标示整个流程 ?...上面概述了下中间件在laravel角色,以及什么类型代码应该从控制器挪到中间件里,至于如何定义和使用自己laravel 中间件请参考官方文档。...() 将回调函数 callback 迭代地作用到 array 数组每一个单元,从而将数组简化为单一值。...$stack传递给下一次对callback调用,arrayreduce执行完成后就会返回一个嵌套了多层闭包闭包,每层闭包用到外部变量$stack都是上一次之前执行reduce返回闭包,相当于把中间件通过闭包层层包裹包成了一个洋葱

    1.4K30

    创建并运行一个新 Laravel 项目

    目录 根目录默认包含以下一级子目录: app:存放应用核心代码,如模型、控制器、命令、服务等 bootstrap:存放 Laravel 框架每次启动时用到文件 config:用于存放项目所有配置文件...文件 .env.example/.env:用于配置环境变量,.env.example 是一个示例模板,而 .env 是真正配置文件,由于包含敏感信息,通常也将其放到 .gitignore 文件。...如上例所示,所有的因环境而异变量配置值(尤其是敏感信息)都应该存放到根目录下 .env 环境变量文件: SPARKPOST_SECRET = xyj_laravelacademy.org 然后在配置文件通过...env() 辅助函数传入键名 SPARKPOST_SECRET 来获取,这样做有两个好处:一是敏感信息存放到版本控制系统(如 Git、Svn)之外,提高了系统安全性;此外还可以方便我们在不同环境...5、测试 Laravel 开箱提供了基于 PHPUnit 进行单元测试和功能测试功能,并且为我们做好了基础配置(phpunit.xml)和示例代码(位于 tests 目录下),由于本节并没有编写任何代码

    6.8K30

    Laravel生命周期

    ,比如laravelpublic/index.php文件时,php为了完成此次请求,会发生5个阶段生命周期切换: 模块初始化,即调用php.ini中指明拓展初始化函数进行初始化工作,如mysql拓展...现在我们知道了,每次请求之后php变量都会unset(),laravelsingleton只是在某一次请求singleton,在php静态变量也不能在多个请求之间共享,不像Java静态变量拥有全局作用...具体可研究一下HttpKernel类文件下$bootstrappers变量和Illuminate\Foundation\ApplicationbootstrapWith()方法。...[] : $this->middleware) ->then($this->dispatchToRouter()); } 在这段代码,创建管道,并且本次请求实例进行中间件处理后...Illuminate\Routing\Router类完成了,查找到对应路由实例,并运行路由实例控制器或者匿名函数(最终运行routers\web.php配置匹配到控制器或匿名函数)。

    1.6K10

    Laravel5.2之Demo1——URL生成和存储

    这里url表示提交表单时路由,方法为post。在这里使用laravelcollective/html这个组件,顺便了解下怎么在laravel安装组件。 这里书中使用了laravel4....*自带Form类,但laravel5.*已经移除了,可以通过composerComposer官网安装。.../laravelcollective/html,这里推荐一个非常好用网站packagist,PHP中所有组件components都可以在这里找到并通过composer安装。...4、保存数据进入数据库 写好视图表单后,再就是写表单提交路由及其控制器逻辑,在控制器引用创建好Link这个Model往links数据表里存数据。...blade视图模板可以直接引用就不用Session::get()了,这是因为laravel会自动把这个变量和视图模板绑定,这errors是个特殊变量,在form.blade.php视图中添加上验证错误信息代码

    24.1K31

    Laravel系列2.2】Laravel 目录结构与配置

    Laravel 目录结构与配置 Laravel 目录结构相对来说在初始状态下会更丰富一些,除了传统控制器之外,也帮我们准备好了脚本、中间件之类代码文件目录,基本上是可以达到上手直接使用。...在上篇文章,我们提到过如果在虚拟机中使用 Laravel 的话,是需要用到 server.php 这个根目录下文件,其实这个文件就是在根目录下加载了 public/index.php 这个文件。...$bootstrapper, [$this]); } 其中核心是 this->make(this); 这一段,它在循环中会加载所有 bootstrappers 数组内容,这个数组里面的内容是在 laravel...write() 方法这些配置文件信息写入到 $_SERVER 全局变量数组。...Laravel 就是 .env 文件数据缓存到了全局变量 $_SERVER ,然后我们在将来使用时候就直接从全局变量获取就可以了,这样就可以避免下一次还要从文件读取,从而提高系统效率。

    4.4K30

    通过修改Laravel Auth使用salt和password进行认证用户详解

    Auth非常强大易用,不过在Laravel用户认证系统中用户注册、登录、找回密码这些模块中用到密码加密和认证算法时使用都是bcrypt,而很多之前做项目用户表里都是采用存储salt + password...特性具体适用场景和用途这里不细讲。...用户点击邮件链接在重置密码页面输入新密码,Laravel通过验证email和token确认用户就是发起重置密码请求用户后新密码更新到用户在数据表记录里。...第一步需要配置Laravelemail功能,此外还需要在数据库创建一个新表password_resets来存储用户email和对应token CREATE TABLE password_resets...Auth自定义就完成了,注册、登录和重置密码都改成了sha1(salt + password)密码加密方式, 所有自定义代码都是通过定义Laravel相关类子类和重写方法来完成没有修改Laravel

    2.9K30

    laravel5.1框架基础之路由详解

    ) 在routes.php中进行路由设置,; 作为访问统一入口,是控制器统一调度; 没有配置路由,就没有正确地访问路径; 路由需要自己规定一定规则,方便自己查看、使用、理解; 2、路由基本类型及使用示例...getDatabaseName(); echo $name; }); post Route::post('article/update','ArticleController@update'); match 匹配[]请求方式...)类中都有用到再Providers启动方法执行后执行 可以通过boot()方法对Providers实现依赖注入 4、路由还可以做 给路由起个别名或者分个组 防CSRF攻击 Restful风格路由...详细内容 X、 app/routes.php 注释翻译(拙劣练习) 自从开始接触laravel和github发现,越来越难以逃避自己拙劣英语,我该开始不再畏惧,好好面对,所以开始laravel...| 简单地告诉laravel,当特定地址被请求时候,访问对应控制器,使地址得到响应。

    1.3K30

    3分钟短文:Laravel路子真野啊!路由昵称前缀中间件

    引言 上一章内容我们介绍了使用laravel路由动词定义方便url,以及通过url参数绑定传递数据,本文我们继续深入Route功能,学习一些提升生产力方法,在现实场景也非常实用。...这样定义之后在HTML文件内比如有 a 标签,或者 form 表单 action,填url地址时候,就可以使用laravel助手函数,这样来写: <a href="<?...}); Route::get('world', function () { return 'World'; }); }); 有了分组,那么可以手动指定,这个分组内<em>所有</em>注册<em>的</em>路由...当然了,上面的示例是在路由组内引入<em>的</em>中间件。对于极为特殊<em>的</em>中间件功能,不能在路由组内统一<em>引</em>用<em>的</em>,可以放到<em>控制器</em><em>的</em>构造函数内调用。...当然了二级域名还要使用nginx<em>的</em>反向代理配合使用。 <em>laravel</em><em>的</em>花样是真多啊! 不仅如此,我们还可以为路由组声明是指定<em>的</em>命名空间下<em>的</em><em>控制器</em>所使用<em>的</em>。

    1.5K30
    领券