扫码一下
查看教程更方便
action
函数为给定控制器动作生成 URL,你不需要传递完整的命名空间到该控制器,传递相对于命名空间 App\Http\Controllers 的类名即可:
$url = action('HomeController@index');
$url = action([HomeController::class, 'index']);
如果该方法接收路由参数,你可以将其作为第二个参数传递进来:
$url = action('UserController@profile', ['id' => 1]);
asset
函数使用当前请求的 scheme(HTTP 或 HTTPS)为前端资源生成一个 URL:
$url = asset('img/photo.jpg');
我们可以通过在 .env 文件中设置 ASSET_URL 变量来配置资源 URL 主机名,如果你将资源托管在第三方服务如 Amazon S3 时,这一功能很有用:
// ASSET_URL=http://example.com/assets
$url = asset('img/photo.jpg'); // http://example.com/assets/img/photo.jpg
route
函数为给定命名路由生成一个URL:
$url = route('routeName');
如果该路由接收参数,你可以将其作为第二个参数传递进来:
$url = route('routeName', ['id' => 1]);
默认情况下,route 函数生成的是绝对 URL,如果你想要生成一个相对 URL,可以传递 false 作为第三个参数:
$url = route('routeName', ['id' => 1], false);
secure_asset
函数使用 HTTPS 为前端资源生成一个 URL:
$url = secure_asset('img/photo.jpg');
secure_url
函数为给定路径生成完整的 HTTPS URL:
echo secure_url('user/profile');
echo secure_url('user/profile', [1]);
url
函数为给定路径生成完整URL:
echo url('user/profile');
echo url('user/profile', [1]);
如果没有提供路径,将会返回 Illuminate\Routing\UrlGenerator 实例:
echo url()->current();
echo url()->full();
echo url()->previous();