laravel中视图的基本使用(七)

laravel中的视图默认保存在 resources\views 目录下。在控制器中,我们通常使用 view() 方法返回一个视图文件。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function test(Request $request)
    {
        return view(‘test‘);
    }
}

对于有多层目录结构的视图,我们可以通过 (.) 点号进行分隔。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function test(Request $request)
    {
        //查找 resources\views\test\test\index.blade.php
        //或 resources\views\test\test\index.php
        return view(‘test.test.index‘);
    }
}

我们可以通过 view() 的第二个参数 或 with() 方法来给视图传递数据。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function test(Request $request)
    {
        return view(‘test‘, [
            ‘id‘ => 1,
            ‘name‘ => ‘test‘,
        ]);
    }
}

有些时候我们需要在所有视图中共享一些变量。让这些变量在视图中都可以访问到。

常用做法是我们创建一个控制器基类,所有其他控制器继承该基类,然后在该基类的构造方法中使用 view()->share()来设置共享变量。

<?php

namespace App\Http\Controllers;

class BaseController extends Controller
{
    public function __construct()
    {
        view()->share(‘css_path‘, ‘‘);
        view()->share(‘img_path‘, ‘‘);
        view()->share(‘js_path‘, ‘‘);
    }
}

原文地址:https://www.cnblogs.com/jkko123/p/10805814.html

时间: 2024-11-06 23:33:00

laravel中视图的基本使用(七)的相关文章

在Laravel中一步一步创建Packages

首先要看一下Laravel官方文档,这是最新4.2的文档,如果想看中文的话点击此处,基本一样,这个github上的库setup-laravel4-package,也是一步一步介绍如何创建一个包,并关联相关资源. 这里以创建一个account包为例: 1.如果是首次使用php artisan workbench命令,需要配置app/config/workbench.php中的name和email,在生成包的时候会使用这些信息 2.在项目根目录使用,下面的命令生成最初始的包目录结构,其中--reso

Laravel大型项目系列教程(七)之7 扩展包和Artisan开发

本节教程将讲解扩展包开发和Artisan扩展开发,并浏览不同分辨率下的自适应效果.本节结束后整个教程就结束了,文章最后有完整版程序代码的下载. 1.扩展包开发 在前面开发中,我们经常要用到通知,如修改用户信息时视图要写 @if (Session::has('message')) <div class="am-alert am-alert-{{ Session::get('message')['type'] }}" data-am-alert> <p>{{ Ses

如何在Laravel中加密大文件?

Empcat的成功软件包应采用Laravel设计.用户可以上传任何大小的文件.出于安全原因,必须静态加密这些文件. Laravel提供加密,但是它们主要用于加密值.它使用加密的帮助程序方法很好地加密了小文件,例如图像,但是在此过程中,必须将文件的内容加载到内存中,这对于大文件是个问题. 我寻找了解决此问题的软件包或解决方案?找到了此Stack Overflow的答案?此PHP解决方案,它基本上是Stack Overflow中描述的解决方案的PHP. 我决定为Laravel创建一个扩展包,该扩展包

ViewPager的Adapter中视图重用

ViewPager的PagerAdapter不像ListView/GridView的BaseAdapter,它是没有内部视图重用机制的,也就是说我先inflate出来一个,然后调用destroyItem后,这个视图就被抛弃了,如果需要更多的视图,则需要再次inflate.如果ViewPager中的所有视图基本相同,就存在内存的浪费了.这里使用一个非常简单的方法实现视图的重用: List<View> mViewList = new ArrayList<View>(); public

laravel中redis个方法的使用

在laravel中使用redis自带方法的时候会发现许多原生的方法都不存在了,laravel对其进行了重新的封装但是在文档中并没有找到相关的资料最后在 \vendor\predis\predis\src\Profile\RedisProfile.php 该文件的createCommand方法重打印出 $this->commands 发现许多方法名是被重写的,以下为所有重新定义的方法名 array(151) { ["EXISTS"]=> string(24) "Pr

ThinkPHP中视图模型详解.

很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解! 先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相对于使用原生SQL语句来说,着实是简单不少. 首先在数据表初始化的时候,用的不是传统的M('User'),在视图模型中使用的是D('UserView'),如下图: 需要主要的是几个单词的首字母大写. 之后在Lib/Model目录中新建名为XXXViewModel.class.php(XXX为任意控制

Laravel中的日志与上传

PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架的设计思想理解了也能学到好多东西.况且有好多东西自己还不理解,所以认真学习一个框架这还是可以学不少东西的. 还是先说说Laravel吧,现在已经到5.2了.就我自己来说之前没有接触过laravel,但是学习过laravel之后感觉这个框架确实不错,并且老外用的不亦乐乎.他的开发社区还可以,文档比较齐

10.6 制作月历中视图模式

首先从中模式开始制作,制作好中模式以后,再以它为基础制作另外两个模式的页面,效果如图1所示.中视图模式的日历实例文件位于网页学习网CSS教程资源的“第10章\03\calendar-normal.htm”. 图1 中视图模式显示的日历 一.搭建HTML结构 按照传统的方法建立最简单的表格.包括建立表格的标题<caption>,以及利用<th>表示星期一到星期日,并给表格定义CSS类别.如下所示.在caption部分除了”2010年4月”这个标题之外,还有用于切换模式的文字链接.lo

Laravel中命名空间的运用

Laravel中自己封装了一个独特的命名空间,可以让开发者在View中能使用特定命名空间. View::addNamespace('Theme', '/views/theme/'); 那么我们就可以在View::make()中进行运用了,比如 return View::make("Theme::templates.message",array('message'=>'我是消息')); 因为添加了Theme的命名空间,那么在View::make中就会相应的查找/views/them