laravel中視圖的基本使用(七)

laravel中的視圖默認保存在 resources\views 目錄下。在控制器中,咱們一般使用 view() 方法返回一個視圖文件。php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function test(Request $request)
    {
        return view('test');
    }
}

對於有多層目錄結構的視圖,咱們能夠經過 (.) 點號進行分隔。css

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function test(Request $request)
    {
        //查找 resources\views\test\test\index.blade.php
        //或 resources\views\test\test\index.php
        return view('test.test.index');
    }
}

咱們能夠經過 view() 的第二個參數 或 with() 方法來給視圖傳遞數據。laravel

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function test(Request $request)
    {
        return view('test', [
            'id' => 1,
            'name' => 'test',
        ]);
    }
}

有些時候咱們須要在全部視圖中共享一些變量。讓這些變量在視圖中均可以訪問到。spa

經常使用作法是咱們建立一個控制器基類,全部其餘控制器繼承該基類,而後在該基類的構造方法中使用 view()->share()來設置共享變量。blog

<?php

namespace App\Http\Controllers;

class BaseController extends Controller
{
    public function __construct()
    {
        view()->share('css_path', '');
        view()->share('img_path', '');
        view()->share('js_path', '');
    }
}
相關文章
相關標籤/搜索