Laravel – Route İşlemleri

Uzun bir aranın ardından Laravel de bildiklerimi aktarmaya başlıyorum. Route ile başlamayı uygun gördüm daha sonrasında laravel projelerinin hangi dosyanın ne işe yaradığını tek konuda anlatmayı planlıyorum neyse gelelim Route işlemine

Route Nedir?

Route ingilizce bir kelimedir ve Türkçe karşılığı (Rota, yol , yönlendirmek , göndermek ) gibi kelimelere tekabül etmektedir. İstenilen adrese örnek olarak www.erdincyasan.com hangi sayfanın gösterileceğini route komutu belirler. Peki konum olarak nerededir ve nereden yönlendirme işlemini yapıyoruz ona bakalım.


Konum olarak Ana klasörün altında routes klasörü var bu klasörün altındaki web.php dosyasında laravel route işlemlerini yapıyoruz. Temel olarak bir route işlemi nasıl yapılıyor nerelerinde neler yazılıyor bir bakalım.

Yukarıda görüntülenen web.php dosyasını açtığımızda (eğer hiçbir işlem yapmadıysanız) aşağıdaki gibi bir görünüm sizleri karşılıyor olacak.

14. Satırda görmüş olduğunuz Route::get //Fonksiyonunun temel işlemlerini bir tanıyalım.

Route::get ifadesinin bizim dilimizdeki karşılığı yönlendirme olarak get istenirse demektir parantez içindeki kısım ise şunu ifade eder eğer sayfa olarak ‘/’ istenirse , şu fonksiyon çalışacak fonksiyonun içeriğinde ise View içerisinde welcome adlı view gösterilecek.

Hemen Viewlarımız neredeymiş onlara da bir bakalım.

Ana klasör altındaki resources klasörünün altında views adlı bir klasör var bu klasörün altında ise welcome.blade.php adlı bir dosya var bizim fonksiyonumuz bizden ‘/’ sayfası istenirse bu view yani görüntü sayfasını gönderiyor.

‘/’ sayfasından kasıt hiçbir sayfa istenmemesidir misal olarak www.erdincyasan.com/

adres satırından sonra eğik çizginin kullanılması ana sayfanın gönderilmesidir.

Kendi Route Komutumuzu yazalım.

Şimdi diyelimki bizim hakkımızda sayfamız var ve bu sayfanın linkini www.erdincyasan.com/hakkimizda ifadesi istendiğinde bu sayfayı göndereceğiz bunun için route komutumuz şu şekilde olmalıdır.

Buradaki ifade /hakkimizda ifadesi istendiğinde view klasörünün altındaki hakkimizda viewini kullanıcıya gönder demektir yani kullanıcının gitmek istediği sayfayı biz gönderiyoruz. İstersek hakkimizda sayfasi yerine başka bir sayfaya da gönderebilirsiniz bunun için yapmanız gereken tek şey view kısmında hangi view’in görünmesini istiyorsanız onun adını yazmanız =)

Controller kullanarak bir sayfaya yönlendirme.

Evet şimdi Route kısmında genelde sadece yönlendirme işlemleri yapılır bunun sebebi hem iş paylaşımını kolaylaştırmak hem de bu sayfanın karman çorman bir yapıda olmasını engellemektir.

Yukarıdaki route komutunda ise farkettiğiniz gibi sadece fonksiyon yerine başka bir şey yazdık. Yazdığımız şeyin Türkçesi Controller adlı controller’daki hakkimizda fonksiyonuna yönlendirme yapılıyor. Peki bu Controller isimli Controller nerede ?

Controller yolu şu şekildedir app/Http/Controller.php

Bu Controller içerisinde bir adet fonksiyon olması lazım bunun da adı hakkimizda olmalı ki yukarıdaki route komutu çalışsın eğer böyle bir fonksiyon yok ise aşağıdaki hata ile karşılaşmanız muhtemel

BadMethodCallException
Method App\Http\Controllers\Controller::hakkimizda does not exist.

Buradaki ifadenin anlamı hakkimizda fonksiyonu mevcut değil demek hemen yazalım.

Controller isimli controller zaten laravelin başlangıcında vardı benim hakkimizda fonksiyonunu ekledikten sonraki hali aşağıdadır.

Burada yaptığımız işlem bildiğimiz bir fonksiyon yazmak. Bildiğiniz gibi fonksiyonlar içerisinde istediğiniz kadar işlem yapabilirsiniz.

Route işlemeri ile laravelde veri gönderimi.

Diğer sayfalara kullanıcı adı ve şifre gibi bilgileri post etmek veya get işlemi ile göndermek isteyebilirsiniz. Bunun için öncelikle hakkımızda sayfamızda basit bir form oluşturuyorum bu işlem gene hakkımızda sayfasında bir post işlemi yapacak ve sayfada gösterimini sağlayacağız.

Şimdi laravelde post ve get işlemlerinin neler yapacağını biz route komutumuz ile bir fonksiyona yönlendirerek yapıyorduk bir fonksiyona yönlendirme işlemi yapalım.

Route Post işlemi

Post işleminin yönlendirmesini yaptık ve hakkimizdaPost fonksiyonuna gönderimini sağladık. Şimdi ise gönderdiğimiz verileri çekelim ve işlemlerimizi yapalım.

Göstermek adına dd($r->all()) fonksyionunu kullanıyorum. ve request içerisinde neler var bir bakalım.

Burada bulunan _token laravel tarafından @csrf ile üretilir ve her form için farklı bir kod üretilir bu sayede web ataklarına karşı önlem alınmış oluunur. sayi1 ve sayi2 içerisinde 23 ve 24 var şimdi bu sayılar ile işlemler yapalım ve sayfamıza gönderme işlemlerini yapalım.

dd($r->all()) üst fotoğrafta gösterildi ve yorum satırı haline getirildi.

Hakkımızda sayfamızı kullanıcıya gönderdik bu sefer with komutu ile bir değişken gönderdik ilk kısımda değişkenimizin adını “toplam” diğer kısımda ise değişkenimizin değerini gönderdik “$toplam“(bu ifadenin içerisine yukarıda 2 sayının toplamını koyduk)

Şimdi diğer sayfamızda bu değişkenimiz nasıl gösteriliyor ona bir bakalım.

Yukarıdaki html formun altında bu ifade yazılı bu ifade isset fonksiyonu ile toplam değişkeninin varlığını kontrol ediyor eğer var ise sayıların toplamını ekrana yazdırıyor laravel ile ekrana yazdırma komutunu çift süslü parantez açıp değişken ismini yazarak ekrana yazdırabilirsiniz.

Form gönderme işleminden önce ve sonraki görüntüler aşağıdadır.

Form gönderilmeden önce
Form gönderildikten sonra

Burada kullanılan $r nesnesi Request sınıfının nesnesidir Request sınıfıyla ilgili ayrıntılı bilgi almak için aşağıdaki linke bakabilirsiniz

https://laravel.com/docs/6.x/requests

Bu yazılık bu kadar olsun. Daha sonraki yazılarda görüşmek üzere sağlıcakla kalın.

admin Yazar:

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir