上一次的筆記可以說是對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代碼。
下一篇學習筆記將分享一下引入和模板概念。