Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何正确创建URL?_Php_Laravel_Url - Fatal编程技术网

PHP如何正确创建URL?

PHP如何正确创建URL?,php,laravel,url,Php,Laravel,Url,我一直不知道如何创建正确的URL。每次我试图弄清楚我是应该做?var=value还是&var=value,然后如果?var=value已经存在,那么我就以?var=value&var=value结束 另外,我和拉威尔一起工作。(所以可能有一个内置函数?) 例如: 我有分页,我的URL可能是这样的 www.example.com OR www.example.com?name=John Route::get('/person/{id}', 'HomeController@index')->

我一直不知道如何创建正确的URL。每次我试图弄清楚我是应该做?var=value还是&var=value,然后如果?var=value已经存在,那么我就以?var=value&var=value结束

另外,我和拉威尔一起工作。(所以可能有一个内置函数?)

例如: 我有分页,我的URL可能是这样的

www.example.com OR
www.example.com?name=John
Route::get('/person/{id}', 'HomeController@index')->name('home.route')
{{ route('home.route', ['id' =>$id]) }}
然后,我的分页链接是href=“?page=2”,我的结果是

www.example.com?name=John?page=2
然后我想用href=“?page=3”导航到下一页,最后我得到了这个。因为它一直在增加

www.example.com?name=John?page=2?page=3

真是一团糟。。。。是否有PHP或Laravel的函数可以创建正确的URL?(知道什么时候使用?或者&,并且不总是添加现有值,但是如果它们已经存在,则替换它们,

如果您使用的是Laravel,我认为您应该使用一些辅助功能:

route('user.profile', ['id' => 1]);
它将根据路由名称和参数创建url,如下所示:
您可以找到一些有用的帮助函数

在URL中应该只有一个将URI和参数分开的
,其余的键值对由
分开,如果您需要将
作为参数传递,则需要对它们进行修改

您可以将一个数组传递给,它将为您构建url


在laravel中,有一些功能可以轻松使用。

laravel附带了一个
route
帮助程序,允许您通过传递注册路由的名称快速生成url

Route::get('/', 'HomeController@index')->name('home.route')
在这里,您可以看到我将home.route传递给name方法,该方法是我用于此路由的名称。当我想在视图中为该路由生成URL时,我只需这样做

{{ route('home.route') }}
如果ny路线采用如下参数

www.example.com OR
www.example.com?name=John
Route::get('/person/{id}', 'HomeController@index')->name('home.route')
{{ route('home.route', ['id' =>$id]) }}
在视图中,我将生成如下url

www.example.com OR
www.example.com?name=John
Route::get('/person/{id}', 'HomeController@index')->name('home.route')
{{ route('home.route', ['id' =>$id]) }}
因为您只想进行分页,所以Laravel与内置分页通信。当您想在视图中对某些内容进行分页时,您必须在您的模型上调用
paginate
函数,Laravel将处理所有的路径。例如,如果您有一个
Person
模型,您可以在控件中这样做r

$persons = Person::paginate(25)
在视图中生成分页,您必须这样做

{{ $persons->links() }} 

当然,我知道,就这些。所以每次我都需要检查?是否已经存在?您可以使用