2015-07-23 27 views
5

I Request::input() veya Request::all() kullanarak parametreler isteği erişebilir olsun.laravel 5 sadece GET veya POST params isteği

sorun benim isteği hem GET ve POST params içerir, ancak sadece onlar imza hesaplamak için kullanılan GET olmasıdır.

sadece GET bir dizi veya laravel 5.1 isteğinden POST parametreler kümesi almak için bir yolu var mı? Benim tek seçenek burada

Ya $ _GET ve $ _POST ile gidiyor?

Teşekkür ederiz.

cevap

5

Request :: query() parametresini yalnızca GET parametrelerini kullanabilirsiniz. GET'den aldığınız parametrelerin sırasına göre tutarlılık konusunda hiçbir garanti verilmediğini unutmayın, böylece imzayı hesaplamadan önce diziyi sıralamanız gerekebilir - imzayı nasıl hesapladığınıza bağlı olarak.

+2

Bu doğru, paramlar imza kontrol yönteminde sıralanır. Bana bir kez geri döndüğümü kontrol edeyim. Sadece POST paramları çıkarma ile ilgili herhangi bir fikir var mı? – MaGnetas

+0

Yep. İstek :: query() mükemmel çalışır. Çok teşekkürler. – MaGnetas

1

kendinizinkilerle laravel Talebi sınıfını genişletmek için bu talimatları izleyin: Illuminate\Http\Request den input() yöntemi kopyalamak, kendi isteği sınıfında, Sonra

https://stackoverflow.com/a/30840179/517371

ve kaldırmak + $this->query->all():

public function input($key = null, $default = null) 
{ 
    $input = $this->getInputSource()->all(); 

    return data_get($input, $key, $default); 
} 

Bingo! Şimdi bir POST isteğinde, Request::query(), sorgu (URL) parametrelerini döndürürken, Request::input() yalnızca/multipart/JSON/her ne olursa olsun giriş kaynağından parametreleri döndürür.

+1

Neden gönderi alıyorum, anlamıyorum, sorgu değişkenleri bir acı olmalı! Laravel bir çok paketi kullanıyor, üzerlerinde kendi ambalajını yaratıyor ve hala berbat! – HPM