视图

视图

  • 到目前为止,我们已经接触了一些路由闭包,并看到了return view('account')的一些内容,对于MVC模式来说,视图或模般指的是用于描述某些特定输出应该是什么样的文件,在Web框架中最常见的视图是用html进行输出的

  • 在Laravel中,有两种视图可以使用,分别为PHP和Blade模板,两种视图的区别在于,使用PHP引擎进行处理的文件名形式一般为about.php,而用Blade引擎进行处理的文件名形式一般为about.blade.php

  • 返回视图有三种不同的方法,第一种是直接使用view()加载,第二种是用View::make()加载,第三种是用注入Illuminate\View\View Factory 的方式实现视图的加载

  • 样例

    • 不传参数

      Route::get('/', function() {
          return view('welcome');
      });
      

      此代码可以在resource/views/welcome.php中或resoure/views/welcome.blade.php中查找视图,加载其内容,以及解析任何内联PHP或控件结构,直到有视图的输出。一旦返回它,它将被传递到响应栈的其余部分,并且最终被返回给用户

    • 传参数

      Route::get('tasks', function() {
          return view('tasks.index')->with('tasks', Task::all());
      });
      

      这个闭包加载resource/views/tasks/index.php或resource/views/tasks/index.blade.php,同时会传递一个名为tasks的单个变量给视图,该变量包含Task::all()方法所返回的结果,该方法是一个优秀的数据库查询办法

  • 视图Composer

    • 多次传递同一个变量可能是繁琐的事,这就可以使用一个共享变量与每个模板进行共享

      view()->share('variableName', 'variableValue');
      
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从零学Laravel目录列表 在程序界最熟悉的莫过于"Hello World",通过输出"Hello Word",...
    ZhouJiping阅读 1,552评论 1 3
  • 基于类的视图 Django中的视图是一个可调用对象,它接收一个请求然后返回一个响应。这个可调用对象不仅仅限于函数,...
    兰山小亭阅读 4,604评论 1 13
  • 视图view包含应用程序app所要渲染的HTML代码,目的是将应用的显示逻辑和控制逻辑进行分离,即分离控制器con...
    JunChow520阅读 2,476评论 0 2
  • 从小玩到大的闺蜜 脱单了党 对方是初一的前后桌 高中的同校 去年高考填志愿 她纠结广州还是深圳 最后得知他来广州 ...
    1513阅读 298评论 0 0
  • 概述 单线程模型 JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待。 引擎有多个线程,单个...
    少年啊兵阅读 590评论 0 0