首页 > 其他 > 详细

laravel学习笔记(一)路由与视图

时间:2019-01-10 19:10:35      阅读:186      评论:0      收藏:0      [点我收藏+]

laravel中视图的用途是用来存放应用程序中HTML内容,并且能够将你的控制器层(或应用逻辑层)与展现层分开。视图文件目录为 resources/views ,示例视图如下:

1、文件名:视图名.blade.php

2、获取视图对应的html内容:

return view(‘文件夹.视图名‘);

  如需传递参数到视图中,可以通过传递数组的方式传递,并在视图中通过blade模板语言打印出来,如下:

return view(‘文件夹.视图名‘,[‘参数名‘=>‘参数值‘]);

  此视图文件位置:resources/views/文件夹/视图名.blade.php,内容如下

<html>
	<body>
  	<h1>Hello, {{ $参数名}}</h1>
	</body>
</html>

3、路由中设置视图查询

  在routes/web.php中按如下方式配置,控制页面默认显示、一级路径显示和二级路径显示,如果视图不存在,则跳转到自定义的404视图中。

  下方代码中判断视图是否存在的方法View::exists也可以用view()->exists来代替

Route::get(‘/‘, function() {
    if (View::exists(‘index‘)) {
        return view(‘index‘);
    } else {
        return redirect(‘error/404‘);
    }
});

Route::get(‘{viewname}‘, function($viewname) {
    if (View::exists($viewname)) {
        return view($viewname);
    } else {
        return redirect(‘error/404‘);
    }
});

Route::get(‘{folder}/{viewname}‘, function($folder, $viewname) {
    if (View::exists($folder . ‘.‘ . $viewname)) {
        return view($folder . ‘.‘ . $viewname);
    } else {
        return redirect(‘error/404‘);
    }
});

  为避免用户输入了不存在的路由跳转(如输入了三级路径),在app/Exceptions/Handler.php中设置异常处理

  1)引用相应的异常类型文件路径

use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

  2)render中增加异常类型判断

    public function render($request, Exception $exception) {
        if ($exception instanceof MethodNotAllowedHttpException || $exception instanceof NotFoundHttpException) {
            return redirect(‘error/404‘);
        }
        return parent::render($request, $exception);
    }

  

laravel学习笔记(一)路由与视图

原文:https://www.cnblogs.com/fengzmh/p/10251742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!