Her Laravel geliştiricisinin karşılaştığı bir durum.
Yeni bir özellik uygulamaya başladığınızda, daha önce defalarca oluşturduğunuz dosyaları hemen oluşturursunuz:
- Model
- Migration
- Repository
- Service
- Form Request
- API Resource
- Policy
- Filter
- Status Enum
- Feature Tests
- Unit Tests
- Swagger/OpenAPI annotations
Bu süreç tekrar eden, zaman alıcı ve hataya açık.
Sorun
Sorun
Laravel mükemmel üretim araçları sunmasına rağmen, üretime hazır bir API modülü oluşturmak birçok Artisan komutunu çalıştırmayı ve her şeyi manuel olarak bir araya getirmeyi gerektirir.
Büyük projeler, Repository ve Service Layer mimarilerini takip ettiğinde, bu süreç daha da tekrarlayıcı hale gelir.
Çözüm
Çözüm
Bir komutla üretim için hazır bir modül oluşturan Laravel Base adında bir açık kaynak paketi geliştirdim.
php artisan make:module Product
Oluşturulan modül şunları içerir:
- ✅ Model
- ✅ Migration
- ✅ Repository Pattern
- ✅ Service Layer
- ✅ Form Requests
- ✅ API Resources
- ✅ Filters & Pagination
- ✅ Policies
- ✅ Status Enums
- ✅ Swagger/OpenAPI annotations
- ✅ Feature Tests
- ✅ Unit Tests
Modern Geliştirme Deneyimi
Modern Geliştirme Deneyimi
Paket aktif olarak sürdürülmektedir ve şunları içerir:
- Laravel 10–13 desteği
- PHP 8.1–8.4 uyumluluğu
- GitHub Actions CI
- PHPStan statik analiz
- Laravel Pint kod stili
- Otomatik sürüm yayınları
- Repository otomasyonu
Neden Bunu Yaptım
Neden Bunu Yaptım
Birçok Laravel projesinde çalıştıktan sonra, aynı proje yapısını oluşturmak için fazla zaman harcadığımı fark ettim. Amacım, geliştirme sürecimi hızlandırmaktı.
Geliştiricilerin özellikleri hemen uygulamaya başlamalarını sağlayan bir araç istedim, böylece klasör ve sınıfları ayarlamakla zaman kaybetmeyecekler.
Geri Bildirim Bekleniyor
Geri Bildirim Bekleniyor
Laravel Base açık kaynaklıdır ve görüşlerinizi duymaktan memnuniyet duyarım.
GitHub Deposu:
https://github.com/MuhammedMSalama/LaravelBase
Packagist:
https://packagist.org/packages/muhammedsalama/laravel-base
Paket, Laravel News tarafından yeni bir özellik olarak tanıtıldı ve topluluk geri bildirimlerine dayalı olarak geliştirmeye devam ediyorum.
Öneri veya özellik talepleriniz varsa, duymaktan memnuniyet duyarım.
İyi kodlamalar! 🚀
Kaynak: Orijinal Makale


