2015-05-02 73 views
2

是什麼

Input::get('value') 

,這之間的區別:

$_GET['value'] 

,當是更好地使用其中之一?

+0

取決於'input :: get()'的來源 - 您使用的是什麼框架? – halfer

+0

'::'是從類中調用方法的運算符,因此搜索'input'類並查看它如何使用$ _GET.It是同一件事,但第一種方法使用面向對象方法 – Mihai

+0

sidenote:FuelPHP還有['Input :: get()'](http://fuelphp.com/docs/classes/input.html#/method_get) – Ghost

回答

0

輸入::得到()是Laravel

$email = Input::get('email'); 
功能

注意:「get」方法用於所有請求類型(GET,POST,PUT, 和DELETE),不只是GET請求。

檢索輸入數組的所有輸入:

$array = Input::get(); 

檢索所有的輸入,包括$ _FILES數組:

$input = Input::all(); 

而且$ _GET在PHP超全局變量,用於獲取來自 查詢字符串的參數。

+1

如果你打算加入引號,你應該包含一個鏈接,以引用來自 –

+0

我只給出基本的區別...很酷.... :) –

+0

基本差異是的,但你包括引號,如果有人想要找到更多的信息,他們現在必須去嘗試找到他們來自 –

11

的代碼

input::get('value') 

第一行是一些框架(也許Laravel 4.2)包裝圍繞PHP GET variables等的代碼

$_GET['value'] 

第二行,其是包含相同的數據,但在普通的一PHP superglobal香草PHP。

因此,差異或多或少是語法的,例如,你怎麼前綴,寫名字和括號:

Prefix Name    Parenthesis 

-none- "input::get"  () 
"$"  "_GET"    [] 

下一步語法差異,第一個是一個函數調用,而其他人讀的變量。

函數調用允許交互更多,例如,該框架可以注入代碼以在「讀取」操作中提供額外的功能(返回/獲取值),如允許在未設置輸入的情況下指定默認值,以前普通的香草PHP在過去不太支持這種功能(我認爲在PHP 7中會有一些改進,但現在找不到RFC)。

這不是PHP不能處理不存在的GET變量條目的默認值,這只是一些小的樣板:

$value = isset($_GET['value']) ? $_GET['value'] : null; 
1

因此很明顯,Input::get()是Laravel就像什麼@hakre說。

$ _GET ['value']將解析URL,如果其中存在設置值。

例如,我們有一個網址http://www.example.com/index.php?myget=value

我們可以使用$_GET['myget']像這樣獲取它的值:

echo $_GET['myget']; 
// this will print "value" 
+1

Input :: get是一個laravel函數 – manix

1

$ _GET是PHP的內建變量。

它是全局靜態變量,有幾個不好的特性,尤其是對於測試。 Laravel已經引入了Input :: get(),所以你可以很容易地交換實現。

在Laravel中應該沒有理由使用$ _GET並儘可能使用Input :: get()。