1.通过url辅助函数(路由)生成:

?

1

location.href = "{{url('user/index2')}}";

或者:

?

1

location.href = "{{url::to('user/index2')}}";

2.通过别名(路由)生成,前提是在注册路由的时候要指定别名,

例如:

?

1

2

3

Route::get('user/index2',['as' => 'user/index2', 'uses' => 'UserController@index1']);

 

location.href = "{{route('user/index2')}}";

或者:

?

1

location.href = "{{URL::route('user/index2')}}";

3.通过控制器、方法名生成(路由不要指定别名,否则会报错!):

?

1

location.href = "{{action('UserController@index2',['id'=>1,'author'=>'admin'])}}";

或者:

?

1

location.href = "{{URL::action('UserController@index2',['id'=>1,'author'=>'admin'])}}";

当然2,3中携带的参数都可以在控制器中使用 Request $request 接受

以上这篇关于laravel模板中生成URL的几种模式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

 

laravel中我们常常需要获取当前的url,但是每个获取的都不一样,我们有时候需要获取的需求也不相同,所以我这里汇总一下,方便以后查询和使用。

使用URL类:

// 返回当前页面的地址:http://a/platforms
URL::full();
url()->full();
// 返回当前页面的完整路径:http://a/platforms
URL::current();
url()->current();
// 返回前一个页面的地址:http://a
URL::previous();
url()->previous();
// https://jiahe/css/foo.css
URL::secureAsset('css/foo.css');

使用 Request 类

// 返回当前页面的完整路径url: http://xx/aa/bb
Request::url();
$request->url()
// 路径: /aa/bb
Request::path();
$request->path();
// 获取请求 Uri: /aa/bb/?c=d
Request::getRequestUri();
$request->getRequestUri();
// 获取 Uri: http://xx/aa/bb/?c=d
Request::getUri();
$request->getUri();

获取基础路由信息

$request->route()->getAction();

使用 Input 类

Input::url();

使用$_SERVER获取基础路由

// path:/platforms?a=1
$_SERVER['REQUEST_URI']
// 获取当前基础路由,比如http://a/test/a返回http://a
$_SERVER["HTTP_HOST"]
// 更多参数可以直接打印SERVER
dd($_SERVER);

laravel中获取$_SERVER(HTTP)信息

laravel也可以像$_SERVER一样获取的函数,我们可以使用如下函数,返回为array

Request::server(); // 可以获取到所有 $_SERVER 信息
$request->server();
Request::server('HTTP_HOST'); // 可以获取到 $_SERVER 中的 HTTP_HOST 信息 (即访问域名)

更多推荐

关于laravel模板中生成URL的几种模式总结