laravel中的视图默认保存在 resources\views 目录下。在控制器中,我们通常使用 view() 方法返回一个视图文件。
<?PHP
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function test(Request $request)
{
return view('test');
}
}
对于有多层目录结构的视图,我们可以通过 (.) 点号进行分隔。
<?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() 方法来给视图传递数据。
<?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',]);
}
}
有些时候我们需要在所有视图中共享一些变量。让这些变量在视图中都可以访问到。
常用做法是我们创建一个控制器基类,所有其他控制器继承该基类,然后在该基类的构造方法中使用 view()->share()来设置共享变量。
<?PHP
namespace App\Http\Controllers;
class BaseController extends Controller
{
public function __construct()
{
view()->share('css_path','');
view()->share('img_path','');
view()->share('js_path','');
}
}
原文链接:https://www.f2er.com/laravel/539084.html