İ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.