2013-03-12 15 views
12

Qual è la differenza tra questi due in laravelDifferenza tra get() e tutti() in laravel

$input = Input::get(); 

E

$input = Input::all(); 

E quale dovrei preferire.

+0

Personalmente penso che uno dovrebbe sempre sapere da dove proviene il loro input. –

+0

beh, ad esempio se un modulo viene inviato entrambi i dati verranno pubblicati. ma perché hanno fatto due metodi diversi. Ci deve essere qualcosa che hanno fatto due metodi per questo. quindi voglio sapere la differenza. –

risposta

15

Preso dalla fonte laravel:

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

Così all() chiamate get() e restituisce il suo contenuto con query(), e file() il $ _FILES superglobal.

La preferenza dipenderà ovviamente dalle circostanze. Personalmente scelgo di usare Input::get($key, $default) perché di solito so cosa sto cercando.

+0

quindi intendi dire che get non include array di file. mentre tutto ha array di file. Quindi dovrei usare tutto se ci sono upload di file e arrivare quando non c'è upload di file solo dati semplici. –

+0

Per citare nuovamente il codice, 'Input :: get()': * Questo metodo viene utilizzato per tutti i verbi di richiesta (GET, POST, PUT e DELETE) * - Quindi no, non include $ _FILES. C'è comunque 'Input :: file ($ key, $ default)' se conosci il file che cerchi. – juco

3

Dal manuale laravel: http://laravel.com/docs/input

recuperare un valore dall'array input:

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

Nota: Le "get" metodo viene utilizzato per tutti i tipi di richiesta (GET, POST, PUT, e DELETE), non solo GET richieste.

recuperare tutti input dalla matrice di ingresso:

$input = Input::get(); 

recuperare tutti ingresso che include l'array $ _FILES:

$input = Input::all(); 

Per default, verrà restituito nulla se l'articolo inserito non esiste. Tuttavia, è possibile passare un valore predefinito diverso come secondo parametro al metodo:

+0

Sembra che questo link sia rotto. Su quale versione stavi visualizzando questo? Ancora +1 perché hai aggiunto informazioni dalla pagina, che troppi rispondenti non fanno. – trysis

Problemi correlati