Detaillierte Erklärung, wie man Routing-Parameter in Laravel erhält

*文
Freigeben: 2023-03-19 08:50:01
Original
2765 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich die fünf Methoden zum Erhalten von Routing-Parametern in Laravel vor. Der Artikel stellt sie ausführlich anhand von Beispielcode vor. Es hat einen gewissen Referenz-Lernwert für jeden, der Laravel braucht kann unten kommen Werfen wir einen Blick darauf. Ich hoffe, es hilft allen.

Vorwort

Jeder weiß, dass Laravel viele Möglichkeiten hat, Routing-Parameter zu erhalten, und es gibt einige Fallstricke. Sie werden wie folgt zusammengefasst und geteilt Als Referenz werde ich darauf verweisen. Ich werde hier nicht viel mehr sagen.

Angenommen, wir legen einen Routing-Parameter fest:

/**
* 定义路由参数名称分别为: param1,param2
*/
Route::get('/{param1}/{param2}', 'TestController@index');
Nach dem Login kopieren

Jetzt besuchen wir http://test.dev/1/2

In TestController:

/**
* 路由参数获取方法
*
* @param Illuminate\Http\Request $request 依赖注入 Request 实例,放在参数中什么位置都可以自动加载
* @param mixed $arg2 要获取的路由参数
* @param mixed $arg1 要获取的路由参数
*/

public function index(Request $request, $arg2, $arg1)
{

 /**
 * 方法一:按照 URL 中路由参数先后顺序来获取
 * 注意:此种方式有个小坑,获取的值只与顺序有关,与名称无关
 */
 echo $arg2; //结果为 1 ,因为 $arg2 在第一位,获取的是第一个路由参数 param1 的值
 echo $arg1; //结果为 2 ,因为 $arg1 在第二位,获取的是第二个路由参数 param2 的值

 /**
 * 方法二:按照路由参数名称来获取
 * 注意:此处名称是 Route 中定义的参数名,非上面方法中的参数名 
 */
 $request->route('param1');  //结果为 1 ,获取的是第一个路由参数
 $request->route('param2');  //结果为 2 ,获取的是第二个路由参数

 /**
 * 方法三:使用 request() 辅助函数来获取,效果同方法二
 */
 request()->route('param1');  //结果为 1 ,如果不带路由参数名则返回当前的Route对象
 request()->route('param2');  //结果为 2 ,如果不带路由参数名则返回当前的Route对象

 /**
 * 方法四:使用 Route Facade
 */
 \Route::input('param1');  //结果为 1 ,该方法必须带路由参数名
 \Route::input('param2');  //结果为 2 ,该方法必须带路由参数名

 /**
 * 方法五:使用 Illuminate\Http\Request 实例动态属性
 */
 $request->param1; //结果为 1 ,Laravel 5.4+ 可用
 $request->param2; //结果为 2 ,Laravel 5.4+ 可用
  
 // 或者
 request()->param1; //结果为 1 ,Laravel 5.4+ 可用
 request()->param2; //结果为 2 ,Laravel 5.4+ 可用
  
 //或者
 request('param1'); //结果为 1 ,Laravel 5.4+ 可用
 request('param2'); //结果为 2 ,Laravel 5.4+ 可用
  
 /**
 * 注意:Laravel 在处理动态属性的优先级是,先从请求的数据(POST/GET)中查找,没有的话再到路由参数中找。
 * 例如:URL : http://test.dev/1/2?param1=a&param2=b
 * $request->param1; request()->param1; request('param1'); //结果为 a
 * $request->param2; request()->param2; request('param2'); //结果为 b
 */
}
Nach dem Login kopieren

Die oben genannten sind die 5 Möglichkeiten, Routing-Parameter in Laravel abzurufen.

Verwandte Empfehlungen:

Detaillierte Erklärung zum Hinzufügen benutzerdefinierter Klassen zum IoC-Container in Laravel 5.4

Detaillierte Erklärung, wie Laravel 5.4 die Anmeldung mit mehreren Feldern implementiert

Detaillierte Erklärung, wie Laravel Modellabfragen durch Vorladen optimiert

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie man Routing-Parameter in Laravel erhält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage