
Bu videoda Laravel'de route oluşturmayı gösterdik. İki tane sayfa oluşturup birbirine link verdik. Bu linkleri değiştirdiğimizde dinamik olarak değişmesi için route'ların name özelliğinden bahsettik. Tüm linklerin önüne ek(prefix) getirmek istediğimizde bunu nasıl yapabileceğimizi gösterdik.
Laravel Roting için daha fazla bilgi: https://laravel.com/docs/9.x/routing
Bu videoda Laravel'de oturum işlemlerinden bahsettik. Login ve register işlemlerini yaptık. Login ve register viewlerini hızlı bir şekilde oluşturduk.
Laravel projemizi veritabanına bağladık. Migration'ın nasıl. çalıştığını gösterdik. Middleware ile sayfalara nasıl yetkilendirme verdiğimizi gördük.
Bu videoda veritabanına ekleme, silme, güncelleme ve listeleme işlemleri yaptık. Kitap modeli oluşturduk. Route'lar oluşturduk. Migration'a değindik. Viewlerdeki layout yapısını gösterdik.
Bu videoda Laravel'de model üzerinden yaptığımız veritabanı sorgularında scope işleminin nasıl yapılacağını öğrendik.
Önceki dersimizde kitap modeli ile listeleme, ekleme, güncelleme ve silme işlemi yapmıştık. Bu dersimizde kitapları veritabanından silmek yerine is_deleted özelliği ekledik ve silinmeyen kitapları scope kullanarak listeledik.
Bu videoda laravelde validation işlemlerinden bahsettik. Validation mesajlarının nasıl özelleştirilebileceğini öğrendik. Frontend validation varken neden backend validation da yapıyoruz sorusunu cevapladık.
Kullanıcı modeli ile kitap modeli arasında ilişki kurduk. Controller'da ilişkisel sorgulama yaptık. Her kullanıcının kendi eklediği kitapları görmesini sağladık.
Bu dersimizde yetkilendirmenin dikkat edilmesi bir konu olduğundan bahsettik. Arayüzden yetkisiz bir sayfaya ulaşıp form üzerinden güncelleme yaptık. HTML üzerinden değişiklik yaparak yetkimiz olmayan bir güncelleme işlemi yaptık. Bu işlemi nasıl engelleyebileceğimizi gösterdik.
Bu derste laravel'de seeder işleminden bahsettik. 2 tane kullanıcıyı seeder ile veritabanına ekledik. php artisan migrate:refresh komutu ile veritabanındaki verileri temizledik.
Bu videoda laravel faker ile rastgele veriler oluşturduk. Modeller arasındaki ilişkiyi kullanarak seeder kullanımını anlattık.
Bu dersimizde custom middleware'dan (özelleştirilmiş middleware) bahsettik. Kullanıcılar tablomuzda role özelliği ekleyerek kullanıcıları admin ve ziyaretçi olarak sınıflandırdık. Sonrasında belirli sayfalara sadece adminin erişebileceği şekilde oluşturduğumuz middleware'ı aktif hale getirdik.
Önceki dersimizde yaptığımız yetkilendirmeden dolayı sadece adminler kitap ekleyebiliyordu. Bundan dolayı kitap ekleme seeder'ını düzenledik.
Projemize alış-veriş sepeti paketi kurduk. Sepete ürün ekleme, güncelleme ve silme işlemleri yaptık. Sepete attığımız ürünleri bir sayfa oluşturarak listeledik. Sepetteki ürün adedini ve sepetteki ürünlerin toplam fiyatını paketteki fonksiyonları kullanarak dinamik olarak gösterimini sağladık.
Derste kullandığımız paket: https://github.com/overtrue/laravel-shopping-cart
Sepete attığımız ürünleri veritabanına kaydederek sipariş oluşturduk.
Sipariş oluşturulurken müşteriden bilgilerini bir form üzerinden nasıl aldırabileceğimizi anlattık.
PayTR sanal pos entegrasyonunu yaptık. Ödemenin başarılı veya başarısız olma durumundan bahsettik.
PayTR dökümantasyonu: https://ptrentegrasyon:Xe93cq8s@dev.paytr.com/iframe-api/iframe-api-1-adim
PayTR sanal pos entegrasyonunun 2. adımını yaptık. Siparişte ödeme durumunu veritabanına nasıl kaydedeceğimizi gördük.
NOT: Derste Order class'ında fillable'a is_status ve failed_reason_msg field'larını eklemeyi unutmayın :)
PayTR dökümantasyonu: https://ptrentegrasyon:Xe93cq8s@dev.paytr.com/iframe-api/iframe-api-2-adim
Bu dersimizde projemize seo eklentisi kurduk. Meta etiklerini dinamik hale getirdik. Websitemizdeki sayfaların Google Zengin Arama Sonuçları'nda çıkması için ne yapmamız gerektiğinden bahsettik. Google Merchant Center'a ürünlerimizin nasıl eklendiğini anlattık.
SEO Eklenti Linki: https://github.com/artesaos/seotools
Bu dersimizde sıfırdan bir Laravel projesi kurduk. Bu projede firebase kullanımını inceledik. Cloud üzerinden listeme, ekleme, güncelleme ve silme işlemlerini anlattık.
Firebase: https://firebase.google.com
Laravel Firebase Eklentisi: https://github.com/kreait/laravel-firebase
PHP Firebase Dökümantasyonu: https://firebase-php.readthedocs.io/en/stable/realtime-database.html
Bootstrap: https://getbootstrap.com/docs/5.3/getting-started/download
Nginx Kurulumu:
https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04
PHP Kurulumu:
https://www.digitalocean.com/community/tutorials/how-to-install-php-8-1-and-set-up-a-local-development-environment-on-ubuntu-22-04
Laravel Nginx Ayarları:
https://laravel.com/docs/9.x/deployment
Digital Ocean Referans Linki:
https://m.do.co/c/56ba6f30ee03
Bu dersimizde Laravel'de mail gönderiminden bahsettik. Önce Mailtrap kullanarak fake mail gönderdik. Daha sonrada canlı bir şekilde nasıl mail gönderebileceğimizi gönderdik.
Mailtrap: https://mailtrap.io
Laravel Mail: https://laravel.com/docs/9.x/mail
Laravel Task Scheduling: https://laravel.com/docs/9.x/scheduling
Bu videoda Laravel'de toplu mail gönderiminden bahsettik. Aynı andan birden fazla e-mail adresine mail gönderdik.
Bu dersimizde mail atma işlemini kuyruk yapısına aldık. Bu sayede çok sayıda mail atacağımızda time out hatasına düşmeyeceğiz. Ayrıca tüm email adreslerine mail gidene kadar sayfada beklemek zorunda kalmayacağız.
Laravel Tinker Dökümantasyonu: https://laravel.com/docs/10.x/artisan#tinker
Laravel'de 404, 500 ve 403 sayfalarını nasıl özelleştirebileceğimizi anlattık.
Detaylar: https://laravel.com/docs/10.x/pagination
Array işlemlerini gerçekleştireceğimiz projeyi oluşturduk.
Pluck fonksiyonu kısaca islediğimiz bir kolondaki verileri çekerek işlem yapmamızı sağlar.
*** Ders içerikleri Laravel 11 için de geçerlidir***
LARAVEL BAŞLANGIÇ DERSLERİ
Laravel Kurulumu Nasıl Yapılır?
Bu dersimizde Laravel dosyalarını Github üzerinden çekip kurulumunu yaptık. localhost'ta projeyi çalıştırdık.
Laravel 10 Proje Oluşturma
Bu videoda Laravel 10 projesinin nasıl oluşturulabileceğini anlattık. 3 farklı yöntem ile proje oluşturabiliriz: 1. composer create-project komutu ile 2. Laravel'i global olarak kurarak 3. Github üzerinden Laravel dosyalarını çekerek
Laravel Routing (Link Yapısı) Nasıl Yapılır?
Bu videoda Laravel'de route oluşturmayı gösterdik. İki tane sayfa oluşturup birbirine link verdik. Bu linkleri değiştirdiğimizde dinamik olarak değişmesi için route'ların name özelliğinden bahsettik. Tüm linklerin önüne ek(prefix) getirmek istediğimizde bunu nasıl yapabileceğimizi gösterdik.
Laravel'de Oturum İşlemleri ( Authentication) | Veritabanı Bağlantısı | Migration | Middleware
Bu videoda Laravel'de oturum işlemlerinden bahsettik. Login ve register işlemlerini yaptık. Login ve register viewlerini hızlı bir şekilde oluşturduk. Laravel projemizi veritabanına bağladık. Migration'ın nasıl. çalıştığını gösterdik. Middleware ile sayfalara nasıl yetkilendirme verdiğimizi gördük.
Laravel'de Listeleme, Ekleme, Güncelleme ve Silme İşlemleri | Laravel'de Veritabanı İşlemleri | CRUD
Bu videoda veritabanına ekleme, silme, güncelleme ve listeleme işlemleri yaptık. Kitap modeli oluşturduk. Route'lar oluşturduk. Migration'a değindik. Viewlerdeki layout yapısını gösterdik.
Laravel'de Veritabanı Sorgularında Scope Kullanımı
Bu videoda Laravel'de model üzerinden yaptığımız veritabanı sorgularında scope işleminin nasıl yapılacağını öğrendik. Önceki dersimizde kitap modeli ile listeleme, ekleme, güncelleme ve silme işlemi yapmıştık.
Bu dersimizde kitapları veritabanından silmek yerine is_deleted özelliği ekledik ve silinmeyen kitapları scope kullanarak listeledik.
Laravel'de Validation İşlemleri
Laravel'de Modeller Arası İlişkiler (hasMany ve belongsTo)
Laravel'de Yetkisiz GET ve POST İşlemlerini Önleme
Laravel Seeder Kullanımı
Laravel Faker İle Fake Veriler Oluşturma
Laravel'de Custom Middleware Oluşturma (Yetkilendirme)
EK | Laravel'de Custom Middleware Oluşturma (Yetkilendirme)
Laravel Cache Kullanımı
Laravel Soft Deleted Kullanımı
MIGRATION İŞLEMLERİ
Laravel 10 Projesi Oluşturma
Migration Oluşturma
Migrate Rollback (Geri Alma) İşlemi
Var Olan Tabloya Yeni Bir Field Ekleme
Tabloda Var Olan Bir Field'ın Türünü Değiştirme
ARRAY İŞLEMLERİ
Laravel 10 Projesi Oluşturma
Array İşlemleri İçin Kullanacağımız Fonksiyonların Yönlendirilmesi
Pluck
Map
Merge
Push / Pop
Prepend
Search
Sort / SortDesc
SortBy / SortByDesc
Union / Intersect
isEmpty / isNotEmpty
Join
Filter
E-TİCARET
Laravel Alış-Veriş Sepeti Kullanımı
Laravel Sipariş Oluşturma
Laravel Sipariş Oluşturma - 2
Sanal Pos Entegrasyonu (PayTR - 1. Kısım)
Sanal Pos Entegrasyonu (PayTR - 2. Kısım)
LARAVEL API DEVELOPMENT (API GELİŞTİRME)
API Development İçin Laravel 10 Projesi Oluşturma
Index - Listeleme Enpointinin Geliştirilmesi
Show - Detay Enpointinin Geliştirilmesi
Store - Oluşturma Enpointinin Geliştirilmesi
Update - Güncelleme Enpointinin Geliştirilmesi
Delete - Silme Enpointinin Geliştirilmesi
Resource Kullanımı
Restore - Silinen Modeli Geri Alma Enpointinin Geliştirilmesi
SEO (Arama Motoru Optimizasyonu)
SEO Etiketlerinin Dinamik Olarak Ayarlanması (Google Merchant Center (Google Alışveriş) - Google Zengin Arama Sonuçları)
İLERİ SEVİYE LARAVEL
Mail Gönderimi
Cron Job Kullanımı (Task Scheduling)
Toplu Mail Gönderme
Excel İle Dışa Aktarma (Export)
Excel İle İçe Aktarma (Import)
LARAVEL İLE FIREBASE KULLANIMI
CRUD İşlemleri
ÇOKLU DİL (MULTI LANGUAGE)
Laravel Projesine Çoklu Dil Özelliği Ekleme
EK | Çoklu Dil Özelliğinin Çalışma Mantığı
EKSTRALAR (Öğrenci İstekleri)
Laravel Projesini Sunucu Üzerinde Yayınlama
Laravel Çoklu Tema Yapımı
Laravel Tinker Kullanımı
Hüseyin Erbayat
Web Developer