隐性绑定这里有点不太明白的问问大家?

2.控制器方法传参中必须包含对应的 Eloquent 模型类型声明,并且是有序的

这里说包含对应的Eloquent模型类型声明,是否指的使show(User,$user)这个声明?
并且时有序的这一段不太明白,无序是指哪种表现?
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2
ibucoin
Route::get('/{param1}/{param2}', 'TestController@index');
public function index(Request $request, $arg2, $arg1)

比如上面这个,arg2是param1,arg1是param2,这就代表是有序的。
模型类型声明说的就是传User这个model,表示我要用类似Model::find($id)查找这条记录了。

5年前 评论

我理解的路由参数是有序的,不管是 参数模型绑定 还是 直接的路由参数,路由中的参数顺序就是控制器方法参数的顺序,但是你可以在控制器方法中传入其他参数的,这些参数的顺序随意

Route::get('/{user}/{param}', 'TestController@index');
public function index(Request $request, User $user, $param)
public function index(User $user, $param, Request $request, CustomClass $customCalss)

$request 的位置无序,类似 $request , $customClass 都是用的 AOP 的方式注入(我也很迷糊 \笑哭)
可以参考教程:https://learnku.com/courses/laravel-interm...
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', '个人资料更新成功!');
    }
}
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!