Merhaba arkadaşlar bugun sizlerler PHP framework’ü olan Laravel ile Migration,Model,seeder,Controller ve Routing işlemleri’nin nasıl kullanıldığını anlatmaya çalışacağım.
Laravel Migration nedir? Neden İhtiyaç Duyarız ?
Tek başımıza proje geliştirirken veritabanını genellikle kendi bilgisayarımız üzerine oluşturup , daha sonra bu veritabanı yapısı üzerinde geliştirmeler yaparız. Fakat yaptığımız projeden birden fazla kişi ile beraber çalışıyorsak bu veritabanı dosyasını diğer geliştiriciler ile paylaşmamız gereklidir. Gönderdiğimiz kişilerde bunları kendi sistemlerine eklemeleri gerekir. Daha sonra veritabanımızda her yapılan değişiklikte bu dosyaların geliştirme yaptığımız kişilerle tekrardan paylaşmamız gerektirmektedir aksi durumda uygulamanın geliştiricilerin sisteminde çalışmamasına sebep olacaktır.
İşte bu noktada migration yapısı devreye girmektedir. Laravel ile proje geliştirirken veritabanı üzerinde yapılan değişiklikleri kod ile oluşturup ve bunu daha sonra sürüm kontrol sistemi üzerine eklediğimiz zaman proje üzerinden çalışan herkes bu değişikliği alarak geliştirme ortamında veritabanını güncelleyebilir böylelikle veritabanı yapısı herkes için güncel olacaktır.
Projenize yeni bir migration eklemenin en pratik yolu artisan kullanmaktır. Migration oluşturmak için en temel komut aşağıdaki gibidir.
Laravel Model Nedir ? Nasıl Kullanılır ?
Migration’ı oluşturduktan sonra bir model yaratmalıyız. Laravel Model, MVC yapısında veritabanı işlemlerini yaptığımız bölümdür.
Migration sınıfları laravel içersinde database klasörünün altında migrations dizini içerisinde bulunurlar. Basit bir migration sınıfında 2 adet method bulunmaktadır. Bunlar up ve down metodlarıdır.
Yukarıdaki örneği incelediğimizde Up() methodu içerisine tablomuzu oluşturma işlemi gerçekleştiriyoruz. Down() methodu içerisinde ise yapılan tabloyu down etme yani aşağı indirme(kaldırma) işlemi yapar. Oluşturduğumuz migration’ı çalıştırmak için;
Laravel Seeder Nedir ? Nasıl Kullanılır ?
Laravel örnek kayıtların eklenmesi için seed sınıflarını sunar.
Öncelikle seed sınıfı için tablomuzu ve modelimiz olması gerekir. Yukarıda Örnek olarak “Books” adında bir modelimizi oluşturmuştuk. Sütunlar ise yukarıda oluşturduğumuz modelde ki gibidir.
Seeder oluştururken genel olarak kullanılan belirli bir isimlendirme mevcuttur. TabloAdiTableSeeder Örnek: BooksTableSeeder
Yeni bir seeder oluşturmak için;
Seeder sınıfları laravel içersinde database klasörü içerisinde Seeder dizinin içerisinde bulunur.
Yukarıda oluşturduğumuz Seeder bizim oluşturduğumuz Books Tablosunu doldurmak için oluşturulmuştur. Seeder’ı çalıştırmak için;
Laravel üzerinden veritabanımıza baktığımızda seeder ile veritabanımızın books tablosunu doldurmuş oluyoruz.
Laravel Controller Nedir? Nasıl Kullanılır ?
Laravel Controller, MVC yapısında frontend ve backend arasında işlem gören katmandır. Tamamıyla olmazsa olmazımızdır ve çoğu yerde kullanacağımız en önemli sınıflardandır. Route dosyamızda tanımladığımız işlevleri Controllers’ta faaliyete geçirir ve view üzerinden yayına sokarız. Controller ‘ı Oluşturmak için;
Controller sınıfları laravel içersinde Http klasörü içerisinde Controllers dizinin içerisinde bulunur.
Yukarıda oluşturduğumuz controller’da Books tablosundaki tüm verileri $getBooksList adında bir değişken’e aktarıyoruz ve Layout klasörünün altında “Books” blade’i üzerine gönderiyoruz.
Laravel View Nedir? Nasıl Kullanılır ?
MVC Sistemlerde view katmanları kullanıcının kullanımında olan ve görsellik içeren kısımdır. Resource/views klasörü altında yer almaktadır. Laravel’de çok gelişmiş bir sistem olan blade engine kullanmaktadır. Bizde bu kısımda blade dosyalarımızı bulunduracağız.
Router Nedir? Nasıl Kullanılır ?
Route ile sisteminize gelecek olan istekleri Controller, View gibi bölümlere yönlendirmek ve istekleri yönetmek için ve gelen isteklerde çalışacak kod parçacıklarına yönlendirmemizi sağlar. App dizininde yer alan ‘routes klasörünün içinde web.php’ dosyasının içinde yönetebiliriz.
Böylelikle tarayıcımızda localhost/books yazıldığında yazdığımız view’ı görüntüleyebiliriz.
Şimdilik benim anlatacaklarım bu kadar. Umarım sizler için faydalı olmuştur. Tekrardan görüşünceye dek hepinize mutlu günler dilerim.