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', '');
    }
}
相关文章
相关标签/搜索