Blade View

在Laravel裡面

有四種種類的response

Responses

  • plain text
  • json
  • view(blade view)
  • file stream

關於Blade用法

<?php


...

class UserContoller extends Controller
{

    public function index()
    {
        return view('user', ['name' => 'foo']);
    }
}
<div>
  {{ $name }}
</div>

這時候畫面上應該會看到 `foo`

很簡單,基礎中的基礎

當然還有別的

另外一個問題來了

一般呼叫流程

  • public/index.php
  • routing
  • middleware
  • controller
  • view(render)

原則上我們也只會碰到middleware還有controller

假設我今天有一個middleware

middleware無法跟controller接觸

什麼是middleware?

It's simple!

php artisan make:middleware

<?php

...

public function handle(Request $request, Clousure $next)
{

    view()->share('name', 'foo');
    
    return $next($request);
}

但是這個只是偏門

寫程式的原則是儘量去除耦合

<?php

...

public function handle(Request $request, Clousure $next)
{

    $request->attributes->add(['name' => 'foo']);
    
    return $next($request);
}

練習一下

假設今天有一個網頁...

Made with Slides.com