İsteğe Erişme
Mevcut HTTP isteği örneğine bağımlılık dahil etme yoluyla erişmek için kontrolcünüzün “__construct” veya herhangi bir metoduna Illuminate\Http\Request
sınıfını yazın. Mevcut istek örneği servis taşıyıcı tarafından otomatik olarak dahil edilecek.
İlgili Youtube Videosu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Controller; class UserController extends Controller { /** * Store a new user. * * @param Request $request * @return Response */ public function store(Request $request) { $name = $request->input('name'); // } } |
Kontrolcünüzün metodu yönlendirici parametresinden bir giriş bekliyorsa, yönlendirici argümanlarınızı listeleyin.
1 |
Route::put('user/{id}', 'UserController@update'); |
Hala Illuminate\Http\Request
yazabilir ve aşağıdaki gibi tanımlayarak kontrolcü metodu tarafından yöndendirici parametrelerinize ulabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Controller; class UserController extends Controller { /** * Update the specified user. * * @param Request $request * @param int $id * @return Response */ public function update(Request $request, $id) { // } } |
Temel İstek Bilgileri
Illuminate\Http\Request
örneği, uygulamanız için HTTP isteklernizin incelenmesi için çeşitli metodlar sağlar. Laravel Illuminate\Http\Request
sınıfını Symfony\Component\HttpFoundation\Request
sınıfından genişletir. Bu sınıfta kullanışlı birkaç metod bulunur.
İstek URI Alma
path
metodu isteğin URI değerini döner. Yani, gelen istek http://domain.com/foo/bar
ise, path
metodu foo/bar
dönecektir:
1 |
$uri = $request->path(); |
is
metodu, gelen URI isteğinin verilen desen ile eşleşmesinin doğrulanmasını sağlar. Bu metodu kullandığınızda *
karakterini joker olarak kullanabilirsiniz.
1 2 3 |
if ($request->is('admin/*')) { // } |
İsteğin yalnızca yol bilgisi değil, URL’nin tamamını almak istiyorsanız url
metodunu kullanabilirsiniz.
1 |
$url = $request->url(); |
İstek Metodunu Alma
method
metodu isteğin HTTP eylemini dönecektir. HTTP eyleminin verilen değer ile aynı olup olmadığını doğrulamak için isMethod
metodunu kullanabilirsiniz:
1 2 3 4 5 |
$method = $request->method(); if ($request->isMethod('post')) { // } |
Girişleri Alma
Giriş Değerini Alma
Birkaç basit metod kullanarak Illuminate\Http\Request
örneğinden tüm kullanıcı girişlerine erişebilirsiniz. İstek için kullanılan HTTP eylemi için endişelenmenize gerek yoktur, giriş erişimi tüm eylemler için aynıdır.
1 |
$name = $request->input('name'); |
Varsayılan değer için input
metoduna ikinci bir argüman geçirebilirsniz. Bu değer istekte input değeri mevcut değilse döndürülür.
1 |
$name = $request->input('name', 'Sally'); |
Dizi girişlerinde çalışırken, dizilere erişmek için .
belirtecini kullanabilirsiniz.
1 |
$input = $request->input('products.0.name'); |
Bir Giriş Değerinin Mevcut Olup Olmadığının Belirlenmesi
İstekte bir değerin olup olmadığını belirlemek için has
metodunu kullanabilirsiniz. Bu metod değer mevcutsa ve boş değilse true
döner.
1 2 3 |
if ($request->has('name')) { // } |
Tüm Giriş Bilgisini Alma
Tüm giriş bilgisini dizi olarak all
metodunu kullanarak da alabilirsiniz.
1 |
$input = $request->all(); |
Kısmi Giriş Bilgisini Alma
Giriş bilgisinin bir kısmını almaya ihtiyacınız varsa only
ve except
metodlarını kullanabilirsiniz.
1 2 3 |
$input = $request->only('username', 'password'); $input = $request->except('credit_card'); |
Eski Girişler
Laravel bir isteği sonraki isteğe kadar tutar. Bu özellik özellikle doğrulama hataları tespi edildiğinde form bilgilerinin tekrar oluşturulması için kullanışlıdır.