Download the PHP package erdikoroglu/laravel-service-scaffold without Composer
On this page you can find all versions of the php package erdikoroglu/laravel-service-scaffold. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download erdikoroglu/laravel-service-scaffold
More information about erdikoroglu/laravel-service-scaffold
Files in erdikoroglu/laravel-service-scaffold
Package laravel-service-scaffold
Short Description Laravel için otomatik Model, Repository, Service scaffold komutu.
License MIT
Informations about the package laravel-service-scaffold
Laravel Service Scaffold
Laravel projelerinizde hızlı bir şekilde tam bir servis katmanı (Service Layer) oluşturmanızı sağlayan interaktif bir Artisan komutu. Bu paket, Repository Pattern'ını temel alarak Model, Migration, Factory, Interface, Repository, Service sınıfı ve çeşitli Form Request'ler (Store, Update, Delete, Search, Show, Restore, Toggle) otomatik olarak üretir. Ayrıca, AppServiceProvider'a binding ekleyerek dependency injection'ı kolaylaştırır.
Bu araç, veritabanı tablosu tasarımı sırasında interaktif prompt'lar ile sütun eklemenize izin verir. SoftDeletes desteği opsiyonel olarak eklenir ve model'in fillable alanları otomatik güncellenir.
Özellikler
- Interaktif Sütun Oluşturma: Sütun adı, tipi (string, integer, boolean vb.), uzunluk, nullable/unique varsayılan değer ayarları için adım adım rehber.
- Tam Scaffolding: Aşağıdaki bileşenleri otomatik üretir:
- Model (örneğin:
app/Models/Test/Test.php) - Factory (
database/factories/Test/TestFactory.php) - Migration (
database/migrations/YYYY_MM_DD_HHMMSS_create_tests_table.php) - Interface (
app/Repositories/Contracts/TestInterface.php) - Repository (
app/Repositories/TestRepository.php) - Service (
app/Services/TestService.php) - Form Request'ler:
TestStoreRequestTestUpdateRequestTestDeleteRequestTestSearchRequestTestShowRequestTestRestoreRequestTestToggleRequest
- Model (örneğin:
- SoftDeletes Desteği: Opsiyonel olarak
deleted_atsütunu ve trait eklenir. - Dependency Injection: AppServiceProvider'a otomatik binding (
'Test' => TestService::class). - Esneklik: Çıkış için boş bırakma seçenekleri, varsayılan değerler ve birden fazla sütun ekleme.
- Dil Desteği: Komut mesajları Türkçe (paket geliştiricisi tercihiyle).
Kurulum
-
Composer ile paketi yükleyin:
-
Laravel 10+ sürümlerinde paket otomatik olarak service provider'ı keşfedilir (auto-discovery). Eğer manuel kayıt gerekiyorsa (eski sürümlerde),
config/app.php'ye ekleyin: - Komut artık Artisan menüsünde görünür:
php artisan make:service.
Kullanım
Komutu şu şekilde çalıştırın:
Adım Adım Süreç
Komut çalıştırıldığında interaktif bir wizard başlar:
-
Model Oluşturma: Model, Factory ve Migration otomatik oluşturulur.
- Örnek çıktı:
-
Sütun Tanımlama:
-
Sütun adı: Sütun adını girin (boş bırakırsanız çıkış).
-
Sütun tipi: Listeden seçin (0-16 arası numaralar): Seçenek Tip Açıklama 0 id Otomatik artan primary key 1 uuid UUID primary key 2 string VARCHAR (varsayılan) 3 text TEXT 4 longText LONGTEXT 5 integer INTEGER 6 bigInteger BIGINT 7 tinyInteger TINYINT 8 boolean BOOLEAN 9 decimal DECIMAL 10 float FLOAT 11 double DOUBLE 12 date DATE 13 datetime DATETIME 14 timestamp TIMESTAMP 15 json JSON 16 foreignId Foreign ID (unsignedBigInteger) Örnek:
-
Uzunluk: Varsayılan 255 (string için), Enter ile atlayın.
- Nullable?:
yes/no(varsayılan: no). - Unique?:
yes/no(varsayılan: no). - Varsayılan Değer?:
yes/no(varsayılan: no). Eğer yes ise değer girin. - Başka Sütun?:
yes/no(varsayılan: yes). No ile sütun eklemeyi bitirin.
-
-
SoftDeletes:
deleted_atsütunu ve trait eklemek içinyes/no(varsayılan: yes). - Sonuç: Migration güncellenir, model'e fillable ve SoftDeletes trait eklenir, Interface/Repository/Service oluşturulur, Request'ler üretilir ve AppServiceProvider'a binding eklenir.
- Örnek çıktı:
Örnek Migration Üretimi
Bir title (string, 255) sütunu eklediğinizde migration şöyle olur:
Örnek Service Kullanımı
Oluşturulan TestService şöyle kullanılabilir (Controller'da):
Service içinde Repository çağrıları yapılır:
Konfigürasyon
Şu an için ekstra konfigürasyon gerekmez. Gelecek sürümlerde migration şablonları veya dil dosyaları için publish edilebilir dosyalar eklenebilir.
Katkı Sağlama
- Fork'layın.
- Değişiklikleri geliştirin (
developbranch'inde). - Test edin (
php artisan test). - Pull Request gönderin.
Pull Request'ler için develop branch'ini hedefleyin. Kod kalitesi için PHP CS Fixer ve PHPUnit kullanın.
Lisans
MIT Lisansı. Detaylar için LICENSE dosyasını inceleyin.
İletişim
- Yazar: Erdi Koroglu
- GitHub: @erdikoroglu
- Packagist: erdikoroglu/laravel-service-scaffold
Sorunlarınızı GitHub Issues üzerinden bildirin. Teşekkürler! 🚀