2013-03-12 36 views
12

khác biệt giữa hai trong laravelSự khác nhau giữa get() và tất cả() trong laravel

$input = Input::get(); 

$input = Input::all(); 

Và cái nào tôi nên thích là gì.

+0

Cá nhân tôi nghĩ rằng người ta phải luôn biết nguồn gốc của họ đến từ đâu. –

+0

cũng chẳng hạn nếu một biểu mẫu được gửi cả hai sẽ nhận dữ liệu được đăng. nhưng tại sao họ lại tạo ra hai phương pháp khác nhau. Phải có một cái gì đó mà họ đã thực hiện hai phương pháp cho việc này. vì vậy tôi muốn biết sự khác biệt. –

Trả lời

15

Taken từ nguồn laravel:

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

Vì vậy all() cuộc gọi get() và trả về nội dung của nó cùng với query(), và file() các $ _FILES superglobal.

Tùy chọn rõ ràng sẽ phụ thuộc vào hoàn cảnh. Cá nhân tôi chọn sử dụng Input::get($key, $default) vì tôi thường biết tôi đang làm gì sau đó.

+0

vì vậy bạn có nghĩa là để nói rằng nhận được không bao gồm mảng tập tin. trong khi tất cả đều có mảng tệp. Vì vậy, tôi nên sử dụng tất cả nếu có tập tin tải lên và nhận được khi không có tập tin tải lên chỉ là dữ liệu đơn giản. –

+0

Để báo lại mã, 'Input :: get()': * Phương thức này được sử dụng cho tất cả các động từ yêu cầu (GET, POST, PUT và DELETE) * - Vì vậy, không, nó không bao gồm $ _FILES. Tuy nhiên có 'Input :: file ($ key, $ default)' nếu bạn biết tập tin bạn đang dùng. – juco

3

Từ Manual Laravel: http://laravel.com/docs/input

Lấy một giá trị từ mảng đầu vào:

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

Lưu ý: Các "nhận" phương pháp được sử dụng cho tất cả các loại theo yêu cầu (GET, POST, PUT, và XÓA), không chỉ yêu cầu GET.

Lấy tất cả các đầu vào từ mảng đầu vào:

$input = Input::get(); 

Lấy tất cả các đầu vào bao gồm các mảng $ _FILES:

$input = Input::all(); 

Theo mặc định, null sẽ được trả lại nếu mục nhập không tồn tại. Tuy nhiên, bạn có thể vượt qua một giá trị mặc định khác nhau như một tham số thứ hai để phương pháp:

+0

Dường như liên kết này bị hỏng. Bạn đang xem phiên bản này trên phiên bản nào? Vẫn +1 vì bạn đã thêm thông tin từ trang, quá nhiều người trả lời không làm. – trysis

Các vấn đề liên quan