麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

Laravel路由中不固定數量的參數如何實現的相關講

2020-03-22 20:30:15
字體:
來源:轉載
供稿:網友
最近在學習laravel的時候發現了一個有趣的地方,下面和大家分享下,這篇文章主要給大家介紹了關于Laravel路由中不固定數量的參數是如何實現的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

laravel是個好框架,我也在學習和使用,并且在公司里推廣,最近在讀 Laravel 源碼的時候,發現了一個段特別有趣的代碼,大家請看:

... 這三個點是做什么用的呢?我查了 PHP 的手冊后發現,這個東西叫做可變數量的參數列表。

這個是干啥用的呢?PHP 手冊是這么解釋的。

... 是用戶自定義函數中支持可變數量的參數列表。

... 存在于 PHP 5.6 及以上的版本中。 在 PHP 5.5 及更早版本中,使用函數 func_num_args() ,func_get_arg() ,和 func_get_args() 。

可變數量的參數列表,這個概念可能你會覺得很抽象。

我們可以這么來理解,我們自定義了一個函數或者某個 function,但是這個 function 的參數數量是不固定的,這也就是可變數量的參數列表。

關于可變數量的參數列表,讓我們來看兩個示例;

 ?phpfunction sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; return $acc;echo sum(1, 2, 3, 4);? 

以上例程會輸出:

10

可變數量參數將被傳遞到 function 中,給定的參數變量會作為數組。

我們再看一個示例:

 ?phpfunction add($a, $b) { return $a + $b;echo add(...[1, 2])? 

以上例程會輸出:

3

可變數量參數將被傳遞到 function 中,給定的數組會作為參數變量。

這個可變數量參數,又和 Laravel 路由有什么關系呢?

在 Laravel 中,我們自定義路由是非常自由的,比如是這樣的:

Route::get( user/{id} , UsersController@filter //路由對應的方法html' target='_blank'>public function filter($id) # code...}

或許有可能這樣的:

Route::get( user/{id}/{name} , UsersController@filter //路由對應的方法public function filter($id, $name) # code...}

Laravel 路由中這樣不固定數量參數,在代碼中是如何實現的呢?使用的就是可變數量參數。

// */vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php * Dispatch a request to a given controller and method. * @param /Illuminate/Routing/Route $route * @param mixed $controller * @param string $method * @return mixedpublic function dispatch(Route $route, $controller, $method) $parameters = $this- resolveClassMethodDependencies( $route- parametersWithoutNulls(), $controller, $method if (method_exists($controller, callAction )) { return $controller- callAction($method, $parameters); return $controller- {$method}(...array_values($parameters));}

不得不讓人佩服 Laravel 作者泰勒腦路清奇啊!

總結

您可能感興趣的文章:

Laravel框架之blade模板新手入門教程

php生成縮略圖質量較差解決方法代碼的講解

PHP實現的棧數據結構示例講解

以上就是Laravel路由中不固定數量的參數如何實現的相關講解的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频久久免费 | av成人在线免费观看 | 人人看人人艹 | 国产毛片视频 | av资源在线天堂 | 成年人免费高清视频 | 羞羞色院91精品网站 | 亚洲码无人客一区二区三区 | 狠狠99| 黑人一区二区 | 国产1区2区3区中文字幕 | 一边吃奶一边插下面 | 日本在线视频免费观看 | 少妇一级淫片免费放4p | 日本aaaa片毛片免费观蜜桃 | av在线免费网| 日日噜噜噜噜久久久精品毛片 | 亚洲精品欧美在线 | 羞羞视频免费视频欧美 | 亚洲一区在线免费视频 | 欧美成人高清在线 | 中文字幕国 | 国产精品久久久久国产精品三级 | 97视频一二区 | 日本一区二区不卡在线观看 | 成人做爰s片免费看网站 | 久久精品久久精品国产大片 | 国产亚洲精品久久久久久久久 | 黄污网站在线观看 | 欧美一级特黄aaaaaaa什 | 久久久久北条麻妃免费看 | 欧美激情精品久久久久久黑人 | 毛片在线看免费 | 中文字幕爱爱视频 | 免费国产视频在线观看 | 在线看91| 在线成人一区二区 | 欧美日韩在线视频一区 | 国产91丝袜在线播放 | 国产成视频在线观看 | 欧美成人午夜 |