laravel學習4

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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章