gpt4 book ai didi

php - 如何在 ci4 路由中传递任意数量的参数?

转载 作者:行者123 更新时间:2023-12-02 19:21:29 33 4
gpt4 key购买 nike

我试图找到一个解决方案来使用路由传递任意​​数量的参数。

举个例子,如果我的路线是

$routes->get('pages/section/widgets/(:num)/(:num)/(:num)', 'Section::widgets/$1/$2/$3');

在这里我必须及时声明我传递的参数数量,即 3。

但是如果我不确定参数的数量,那么我该如何在 ci4 中传递它呢?我经历了documentation并尝试了所有可能的占位符。但它不会按预期工作。

为了在 Laravel 中更加清晰,我们使用 -

Route::get('/{page?}', 'Frontend\HomeController@inside')->where('page', '.*');

所以在 laravel 中它接受所有参数并重定向到它各自的方法。

提前谢谢你。

最佳答案

经过一些研究和阅读文档。我想出了路由不可能的解决方案。我们可以通过内置库 URI class 来实现这一点。引用documentation获取更多信息。

举个例子——如果我有类似 http://example.com/test1/test2/test3 的 url。然后在 route 我们可以声明 -

$routes->get('/(:any)', 'Home::index');

但是在 Controller 中——

$uri = service('uri');
print_r($uri->getSegments());//this will give you all the segments in array.

所以这将打印 -

Array ( [0] => test1 [1] => test2 [2] => test3 )

谢谢。

关于php - 如何在 ci4 路由中传递任意数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63004991/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com