上一次的笔记可以说是对laravel路由的强化。现在要来说一下laravel的中间件。
中间件用来干什么,举个例了在laravel项目中使用session的话必须开启laravel的web中间件。中间件文件在Http下的Kernel文件中。
也可以通过中间件来做一个登录验证。
中间件就说到这里因为具体我也没有怎么应用过。大家要测试的话可以在路由中这样写:
Route::get('admin',['as'=>'profile','middleware'=>'web','uses'=>'Admin\AdminindexController@Adminindex']);这里来复习一下,get请求,url是admin 其中middleware变是中间件,uses是指控制器路径和方法。然后再控制其中设置一个session
session(['key',123]);
然后访问这个控制器,之后在定义另一个控制器配置路由控制器echo这个session
echo session('key');
这样页面就会显示这个session
如果在路由配置的时候没有设置这个中间件则页面不能输出该session
接下来就来说视图了。
laravel用的是blade所以在视图层文件夹resource/view文件夹中新建index.blade.php
可以把wellcome.blade.php的内容放进去做测试,
写一个MyviewController的控制器在Myview方法里return view('index');
在路由中配置一个url个这个控制后访问会出现laravel的欢迎页面,如果对THINKPHP熟悉这边应该没有什么问题。
一下介绍一下传值的问题,在控制器传值到模板怎么做,很简单:
public function Myview(){ $data=[ 'home'=>'深海巨鲨', 'text'=>'死亡之地' ]; $name1='北狱冥海'; return view('index',compact('data','name1')); }在模板中:<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Laravel</title> <!-- Fonts --> <!-- Styles --> <style> html, body { background-color: #fff; color: #636b6f; font-family: 'Raleway', sans-serif; font-weight: 100; height: 100vh; margin: 0; } .full-height { height: 100vh; } .flex-center { align-items: center; display: flex; justify-content: center; } .position-ref { position: relative; } .top-right { position: absolute; right: 10px; top: 18px; } .content { text-align: center; } .title { font-size: 84px; } .links > a { color: #636b6f; padding: 0 25px; font-size: 12px; font-weight: 600; letter-spacing: .1rem; text-decoration: none; text-transform: uppercase; } .m-b-md { margin-bottom: 30px; } </style> </head> <body> <div class="flex-center position-ref full-height"> @if (Route::has('login')) <div class="top-right links"> @if (Auth::check()) <a href="{{ url('/home') }}">Home</a> @else <a href="{{ url('/login') }}">Login</a> <a href="{{ url('/register') }}">Register</a> @endif </div> @endif <div class="content"> <div class="title m-b-md"> {{$data['home']}}-{{$name1}} </div> <p> {{$data['text']}} </p> <div class="links"> <a href="https://laravel.com/docs">Documentation</a> <a href="https://laracasts.com">Laracasts</a> <a href="https://laravel-news.com">News</a> <a href="https://forge.laravel.com">Forge</a> <a href="https://github.com/laravel/laravel">GitHub</a> </div> </div> </div> </body> </html>这里我们可以看到{{}}定界符,数组方式的话直接用php的数组方式输出。就是在控制器输出return view('index',compact('data','name1'));大家可以试一下。
在这里说一下可以直接在模板中使用<?php......?>来写php代码。
下一篇学习笔记将分享一下引入和模板概念。