2013-03-12 20 views
12

Jaka jest różnica między tymi dwoma w laravelRóżnica między get() i wszystko() w laravel

$input = Input::get(); 

I

$input = Input::all(); 

A który z nich powinienem wolą.

+0

Osobiście uważam, że zawsze należy wiedzieć, skąd pochodzą dane wejściowe. –

+0

na przykład, jeśli formularz zostanie przesłany, oba zostaną wysłane. ale dlaczego stworzyli dwie różne metody. Musi być coś, co zrobili dwie metody na to. więc chcę poznać różnicę. –

Odpowiedz

15

Zrobiono ze źródła laravel:

public static function all() 
{ 
    $input = array_merge(static::get(), static::query(), static::file()); 
    // .... 
    return $input; 
} 

So all() połączeń get() i zwraca jego zawartość wraz z query() i file() $ _FILES superglobalne.

Preferencje będą oczywiście zależały od okoliczności. Osobiście wybieram używanie Input::get($key, $default), ponieważ zwykle wiem, po co jestem.

+0

, więc chcesz powiedzieć, że get nie zawiera tablicy plików. podczas gdy wszystkie mają tablicę plików. Tak więc powinienem użyć wszystkich, jeśli są pliki przesłane i uzyskać, gdy nie ma przesyłania plików tylko proste dane. –

+0

Aby zacytować ten kod ponownie, 'Input :: get()': * Ta metoda jest używana dla wszystkich czasowników żądań (GET, POST, PUT i DELETE) * - Więc nie, nie obejmuje $ _FILES. Jest jednak plik 'Input :: file ($ key, $ default)' jeśli znasz plik, którego szukasz. – juco

3

z podręcznika laravel: http://laravel.com/docs/input

pobrać wartość z tablicy wejściowej:

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

uwaga: "get" metoda jest stosowana do wszystkich rodzajów żądanie (GET, POST, PUT i DELETE), a nie tylko żądania GET.

pobrać wszystkie dane wejściowe z tablicy wejściowej:

$input = Input::get(); 

pobrać wszystkie dane wejściowe w tym tablicy $ _FILES:

$input = Input::all(); 

domyślnie, null zostanie zwrócony, jeśli element wejściowy nie istnieje. Można jednak przekazać inną wartość domyślną jako drugi parametr metody:

+0

Wygląda na to, że ten link jest uszkodzony. W jakiej wersji oglądałeś to? Nadal +1, ponieważ dodałeś informacje ze strony, której zbyt wielu nie odpowiada. – trysis

Powiązane problemy