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代码。
下一篇学习笔记将分享一下引入和模板概念。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值