Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan Laravel framework'ünde login sistemi oluşturma konulu kapsamlı bir eğitim içeriğidir.
- Video, Laravel'da login sistemi oluşturma sürecini adım adım ele almaktadır. İçerikte veritabanı migrasyonları, seed oluşturma, factory kütüphanesi kullanımı, form request'lerin oluşturulması, hata yönetimi, SweetAlert kütüphanesinin kurulumu ve kullanımı, kullanıcı girişi işlemleri ve "beni hatırla" özelliği için remember token'ın oluşturulması anlatılmaktadır.
- Eğitimde ayrıca JavaScript ve backend arasındaki güvenlik önlemleri, PHP kodlarının HTML ile entegrasyonu, PHP tag'lerinin farklı kullanım şekilleri ve kullanıcı bulunamadı durumunda SweetAlert kullanarak uyarı mesajı gösterme işlemleri de gösterilmektedir. Video, pratik uygulamalar ve kod örnekleriyle desteklenmektedir.
- 00:11PHP Artisan ile Veritabanı İşlemleri
- İki tane GT ve POST olarak login işlemleri için login adresleri verilmiş ve bir tane nem yeterli olduğu için sadece bir tane bırakılmış.
- Veritabanı migresh'in yapısı içerisinde users tablosu olduğu için php artisan migrate komutu kullanılmış.
- Seeder, veritabanına atmak istediğimiz verileri veya projeyi ayağa kaldırırken bazı verilerin otomatik olarak içinde olmasını istediğimiz için kullanılır.
- 01:01Seeder Oluşturma ve Çalıştırma
- Yeni bir seed oluşturmak için php artisan make seed komutu kullanılmış ve user.seeder oluşturulmuş.
- Tüm seader'ların çalışmasını sağlamak için php artisan db seed komutu kullanılmış.
- Birden çok farklı seeder yapacağımız için bunları ayrı ayrı oluşturup ardından database seader içerisinde çağırabiliriz veya php artisan db seed class komutu ile belirli bir sınıfı çalıştırabiliriz.
- 02:24Veritabanına Kayıt Atma
- Factory kütüphanesi kullanılarak fake datalar oluşturulmuş ve name ve e-mail bilgileri veritabanına atılmış.
- Şifreler 12345678 olarak şifrelenerek veritabanına yazdırılmış.
- Ekstra bir admin kullanıcısı oluşturulmuş ve şifreleri de 12345678 olarak verilmiş.
- 02:54Veritabanı Kontrolü
- Veritabanına bakıldığında 11 tane kullanıcı oluşmuş ve şifrelerin hepsi aynı olmasına rağmen birbirinden farklı olarak kodlanmış.
- Form requestler, login controller'a gelen requestleri kontrol etmek için kullanılır.
- Login request, form requestinden türemiş durumda ve kalıtımı yapılmış durumda.
- 03:53Form Validation İşlemleri
- Form request'te email alanının zorunlu gelmesi için "required" özelliği, minimum 3 karakterden oluşması için "min" özelliği, maksimum 255 karakter alması için "max" özelliği kullanılmış.
- Eğer email zorunlu değilse, minimum 3 karakterden oluşmamışsa veya maksimumdan oluşmamışsa belirli hatalar verilir.
- Validation mesajları varsayılan olarak resources klasörünün altında length klasörünün altında lang klasörünün altında tutulur.
- 06:30Hata Yönetimi
- View'da hataları bastırırken herhangi bir hata var mı yok mu kontrolü yapılır ve true veya false değer döner.
- Tüm hataları almak için "all" komutu kullanılır ve foreach ile her bir hata yazdırılır.
- Sadece belirli bir alan için hata göstermek için "add error" directive kullanılır ve name elementlerinin name alanından gelen değerler baz alınarak hangi alan için hata olduğunu anlar.
- 08:27JavaScript ve Backend Güvenliği
- Kullanıcılar JavaScript tarafını geçerek hackleme yapabilir, bu nedenle güvenlik önlemlerini backend'de almak gerekir.
- JavaScript ile kontrol edilebilir ancak kullanıcı hacklediğinde true değerini gönderebilir, bu nedenle backend'den kontrol etmek zorunludur.
- API ile çalışırken veya mobil uygulama ile veri gönderirken de aynı güvenlik önlemleri alınabilir.
- 09:53Request Kullanımı
- Request kullanarak email uzunluğu gibi string kodları alabilir ve işlem yapabilirsiniz.
- Request doğrudan validasyon edilebilir veya validate fonksiyonu kullanılarak request gönderilebilir.
- Fortify ile kullanıldığında normal request kullanmak zorunda kalınabilir, bu durumda request yapmak gerekir.
- 12:55Sweet Alert Kullanımı
- Sweet Alert'in kurulumu için npm ile kurulum yapılabilir.
- Sweet Alert'in CSS ve JavaScript dosyaları sayfaya çağrılmalıdır.
- PHP tarafında hata mesajları Sweet Alert ile bastırılabilir, ancak HTML içeriği tek tırnak içinde yazılmalıdır.
- 19:24Laravel'de Hata Yönetimi
- İki tane ünlem işareti kullanıldığında HTML tag'leri algılanarak basılır.
- Hata mesajları alt alta gelmesi için "swl text" değişkeni boş bırakılıp, her hata için bu değişkene değer atanır.
- Laravel'de HTML elementlerinin doğru basılması için değişkenler iki tane ünlem işareti arasına yazılır.
- 23:07Kodun Görünümü ve Kullanımı
- Kodun görünümünü güzelleştirmek için PHP tag'leri açılıp içine tüm işlemler yazılabilir.
- Laravel'de "@php" ve "@endphp" kullanılarak da PHP kodları yazılabilir, ancak normal PHP tag'lerini açmak daha yararlı olabilir.
- İç içe PHP tag'leri kullanıldığında, "@endphp" bazen döngüleri kapatmış olabilir, bu nedenle normal PHP tag'lerini açmak daha az hata yapar.
- 27:04Login İşlemleri
- Login sayfasında email, password ve remember değerleri request'te gelir.
- Login işlemi için "auth" fonksiyonu kullanılır ve kullanıcı login olup olmadığı kontrol edilir.
- Login yaparken "auth" fonksiyonuna "credentials" adında bir array gönderilir, bu array'e email ve password değerleri virgülle ayrılarak eklenir.
- 29:02Kullanıcı Giriş İşlemi
- Kullanıcı giriş işlemi için önce sistemde kullanıcı bulunup bulunmadığı kontrol ediliyor.
- Kullanıcı bulunduğunda, kullanıcı şifresi hash ile kontrol ediliyor ve eşleştiğinde kullanıcı giriş yapmış oluyor.
- Giriş yapıldığında "giriş yapıldı" mesajı gösteriliyor, kullanıcı bulunamadığında ise "kullanıcı bulunamadı" mesajı veriliyor.
- 31:32Login İşlemi Tamamlama
- Sadece şifrelerin eşit olması yeterli değil, kullanıcıyı gerçekten login yapmak için "out login" komutu kullanılıyor.
- Login işlemi tamamlandıktan sonra kullanıcı yönlendirilebiliyor, örneğin admin sayfasına yönlendirilebilir.
- Login yapan kullanıcının bilgilerine "out user name" komutu ile erişilebiliyor.
- 33:27Beni Hatırla Özelliği
- "Beni hatırla" özelliği için veritabanında "remember token" adında bir alan oluşturuluyor.
- "Remember" parametresi true olarak ayarlandığında, kullanıcı tarayıcıyı kapatsa bile daha sonra otomatik olarak giriş yapmış olarak sisteme giriş yapabiliyor.
- "Remember" parametresi null gelirse, false olarak ayarlanıyor.
- 36:47Sweet Alert Kullanımı
- Sweet Alert paketi kullanılarak kullanıcı bulunamadı gibi mesajlar görüntülenebiliyor.
- Sweet Alert paketi Composer ile kuruluyor ve service provider'ların arasına ekleniyor.
- Sweet Alert paketi, Laravel'da kullanıcı doğrulama ve hata mesajları için kullanılıyor.