在控制器中 update (UserRequest $request, ImageUploadHandler $uploader, User $user) 参数是从哪儿传递进来的?
在写好了 ImageUploadHandler 的脚手架之后在控制器中使用的时候,在控制器的实现中出现了疑惑。
对底层的实现不是很理解,在路由调用这个控制器的这个方法之后,实例是怎么创建并传入控制器方法的?居然就能直接使用参数变量来执行对象方法和属性,请大佬们解释解释。
<?php
.
.
.
use App\Handlers\ImageUploadHandler;
class UsersController extends Controller
{
.
.
.
public function update(UserRequest $request, ImageUploadHandler $uploader, User $user)
{
$data = $request->all();
if ($request->avatar) {
$result = $uploader->save($request->avatar, 'avatars', $user->id);
if ($result) {
$data['avatar'] = $result['path'];
}
}
$user->update($data);
return redirect()->route('users.show', $user->id)->with('success', '个人资料更新成功!');
}
}
推荐文章: