Как я могу получить ожидаемые значения с resolRouteBinding? - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу получить массив аргументов, ожидаемых в методе, для этого:

class Example
{
    /**
     * @param \App\User $user
     *
     * @return \App\User
     */
    public function run(\App\User $user)
    {
        return $user;
    }
}


Route::get('/{user}', function () {

    $example = new Example();
    $class = new ReflectionClass($example);

    $current = Route::current();

    $arguments = $current->resolveMethodDependencies(
        $current->parameters(),
        $class->getMethod('run'),
    );

    dd($arguments);
});

Я отрываю адрес *example.com/1* и ожидаю, что массив *$arguments* будет содержать пользователя Модель с заданным серийным номером, но не. Массив состоит из пустой модели и переданного значения:

array:2 [▼
  0 => App\User {#359 ▶}
  "user" => "1"
]

Как добиться желаемого поведения при выполнении bindig ( \ Illuminate \ Contracts \ Routing \ UrlRoutable :: class ) для такого примера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...