Laravel-控制器

生成静态页控制器

命令php artisan make:controller Dir/controllername DIR文件夹/控制器方法

命名空间

使用依赖注入时,理清命名空间的关系。很多时找不到class,是没有引入对应的命名空间(ORM)

渲染视图

以下为定义一个简单控制器以及渲染

public function home(){
    return view('static_pages/home')
}

上面的代码,将会在 resoureces/views文件夹下的static_pages/home.blade.php文件。默认情况下,所有视图存在放在resources/views

控制器响起视图

1.数组形式

$name=xiaoming;$age=19;
//数组形式
return view('视图',['username'=>'xiaoming','age'=>'19']);

//赋值变量
$data=['username'=>'xiaoming','age'=>'19'];
return view('视图',$data);

2.with函数

return view('视图')->with('username','xiaoming')->with('age',19);

3.with+变量名

return view('视图')->withUsername('xiaoming')->withAge(19);

控制器路由

注意顺序

  1. 基础控制器路由(路由隐式绑定参数,将参数传递到控制器的形参上)
  2. 隐式控制器路由(需要引入Route命名空间)
  3. 隐式路由模型绑定

一个简单关联
关联

1.2隐性路由模型绑定

//1.路由声明必须使用Eloquent模型的单数小写格式为作为路由片段参数,User对应 {user}
Route::get('/users/{user}','UsersController@show')->name('users.show');

//2.控制器方法必须包含对应的Eloquent模型类声明,并且是有序的
use App\Models\User

public function show(User $user){
    return view('users.show',compact('users'));
}

当请求 xxxx/users/1并且满足以上两个条件时,Lara将会自动查找ID为1的用户,并赋值到变量$user中,如果数据库找不到对应的模型实例,会自动生成HTTP 404(not found);

猜你喜欢

转载自blog.csdn.net/zgy0777/article/details/82193076