Laravel 6 API Boilerplate
lv
İleri seviye

Laravel 6 API Boilerplate

Bu serimizde back-end teknolojisi olarak Laravel v6.* kullanacağız, front-end kısmımızda Nuxt.js kullanarak, her projeye uygulanabilecek ortak bir yönetim paneli yaratacağız. RBAC kullanarak, yetkilendirme sistemimizi geliştireceğiz.

lv
0% Tamamlandı
24 Eylül 2019 20 Ders İleri seviye
Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:05:18 ÜCRETSİZ

Abstract Request Class

Laravel Form Request classlarını bu yazmış olduğumuz abstract classtan extend edeceğiz. Bu sayede laravelin validation mesajlarını json olarak alabilecek ve başka bir dataType ile meşgul olmayacağız.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:21:18 ÜCRETSİZ

Auth Service

Sistemimiz için giriş, çıkış, şifre yenileme gibi genel aksiyonları yüklenecek service dosyamızı yazdık. Bu service sayesinde auth managementlarımızı bir katman üzerinden yönetebileceğiz.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:03:53 ÜCRETSİZ

Main Controller Oluşturma

Ana bir controller oluşturduk, bu controller daha önce oluşturmuş olduğumuz JsonResponseService kısmını işler bu nedenle sonraki türetilen controllerlarda kullanabilmemizi sağlayacak.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:05:43 ÜCRETSİZ

Auth Routes

Auth Controller oluşturduk, bunun için gerekli olan uçlarımızı tanımladık. Bu uçlar artık giriş, çıkış ve şifre yenilememiz için gerekli rotalardır.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:15:49 ÜCRETSİZ

Auth Controller Login

Artık giriş yapmaya hazırız, methodumuzu yazdık. Çıkabilecek sorunları irdeliyoruz. Request classı ve özellikle API isteğine dikkat edelim. Asıl ulaşmak istediğimiz nokta API'ye ne gönderilirse gönderilsin tüm çıktıları JSON formatında almak.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:09:40 ÜCRETSİZ

Laravel Exception Handler

Jenerik bir kaç hata ile karşılaştık. Bu hataları nasıl gidermemiz gerektiğini çözmek durumundayız. Amacımızı unutmuyoruz, ne hatası alırsak alalım hepsini JSON çıktı olarak istiyoruz.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:04:13 ÜCRETSİZ

User Login

Hatalarımızı kapatmaya devam ediyoruz ve başarılı bir şekilde, login işlemini tamamlayabildik. Usera ait token ve expiresIn değerlerini alabildik.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:01:39 ÜCRETSİZ

Handler Bug Fix

Handler classında yapmış olduğumuz hatayı düzenledik, şu anda login rotası için JSON çıktılarımızda bir sorun görünmemekte. Şu ana kadar olan kod kısmını github adresimizden inceleyebilirsiniz.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:08:14 ÜCRETSİZ

Handler Class Completed

Jenerik olarak karşımıza çıkabilecek exceptionları özelleştirdik ve kalan bilmediğimiz exceptionlar için genel bir fonksiyon hazırladık. Bu sayede tüm exceptionlarda artık JSON çıktı olarak karşımıza gelecektir.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:07:49 ÜCRETSİZ

User Logout

Hatalarımızı kapatmaya devam ediyoruz ve başarılı bir şekilde, logout işlemini tamamlayabildik. User'a ait token'ı revoke ederek geçersiz kıldık.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:07:16 ÜCRETSİZ

User Me Endpoint

Login olan kullanıcının bilgisi için bir endpoint yazdık, bu sayede bu API'yi consume eden servislere kişi bilgilerini ileteceğiz.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:14:16 ÜCRETSİZ

Auth Service Functional Testing

Auth için yazmış olduğumuz endpointler için functional testlerimize giriş yaptık. Bu kısım önemli bundan sonra yazacağımız her endpoint için functional testleri yazacağız. Burada önemli nokta canlı sistemlerde live database verilerini kullanmamak, sonraki derslerimizde test veritabanını ayıracağız.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:09:38 ÜCRETSİZ

Auth Service Register Method

Bu dersimizde Auth Service kısmımıza register methodunu ekledik ve functional testini yazdık. Siz de kendi düzeninize göre bunu geliştirebilirsiniz. Tabi ki boilerplate tamamlanmadan tüm sistemi tekrar refactor edeceğiz. Bu kısımlarda kullanılan functional testler giriş düzeyindedir.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:07:51 ÜCRETSİZ

Dry-Run Unit Testing

Bu bölümümüzde test veritabanı ile kullandığımız veritabanını ayırarak işimizi biraz daha kolaylaştırdık. Bu kısıma dikkat etmekte fayda var. Refactor aşamalarına değineceğiz.

Laravel, bootstrap, vue.js, unity ve daha bir çok online eğitim- phpuzem.com
İzlendi
Laravel İzleme Süresi 00:10:06 ÜCRETSİZ

Repository Pattern ve Unit Of Work

Sonraki eğitime başlamadan önce kesinlikle araştırılması gereken iki konudur. Repository pattern veriye erişimi kısıtlar, bizi standartlara zorlar, tabi bu kuramı beğenmeyen kullanmayanlar da mevcut. Artı ve eksiklerini zamanla göreceğiz. Bu makaleyi incelemenizi şiddetle tavsiye ediyorum. https://programmingwithmosh.com/net/common-mistakes-with-the-repository-pattern/

Geliştiricinin Seçim Kanalı

Derslere Gözat Tartışma Forumu