public function route($route, $parameters = [], $status = 302, $headers = [])
{
return $this->to($this->generator->route($route, $parameters), $status, $headers);
}
注意这个方法 $this->generator->route()继续看下去
// vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php
// Get the URL to a named route.
public function route($name, $parameters = [], $absolute = true)
{
if (! is_null($route = $this->routes->getByName($name))) {
return $this->toRoute($route, $parameters, $absolute);
}
throw new InvalidArgumentException("Route [{$name}] not defined.");
}
// Get the URL for a given route instance.
protected function toRoute($route, $parameters, $absolute)
{
return $this->routeUrl()->to(
$route, $this->formatParameters($parameters), $absolute
);
}
// Format the array of URL parameters.
public function formatParameters($parameters)
{
$parameters = Arr::wrap($parameters);
foreach ($parameters as $key => $parameter) {
if ($parameter instanceof UrlRoutable) {
$parameters[$key] = $parameter->getRouteKey();
}
}
return $parameters;
}
// vendor\laravel\framework\src\Illuminate\Support\Arr.php
/**
* If the given value is not an array, wrap it in one.
*
* @param mixed $value
* @return array
*/
public static function wrap($value)
{
return ! is_array($value) ? [$value] : $value;
}
到这结束, 这个参数不是数组会转换为数组 :joy: