kornelius / strict-architecture
Perkakas penjaga standar arsitektur dan penamaan untuk Laravel 12
Package info
pkg:composer/kornelius/strict-architecture
Requires
- php: ^8.2
- illuminate/console: ^12.0
- illuminate/support: ^12.0
README
Paket Laravel eksklusif untuk menegakkan standar arsitektur Controller-Service-Repository. Paket ini menyediakan generator modul otomatis, pemindai arsitektur, serta penjaga komit berbasis Git Hook untuk memastikan kualitas dan konsistensi kode di seluruh tim pengembang.
Fitur Utama
- Generator Modul Cepat: Membangun seluruh ekosistem fail seperti Controller, Model, Migration, Service, Repository, View, dan Pest Test dalam satu perintah.
- Pemindai Standar (Scanner): Mendeteksi pelanggaran penamaan fail secara langsung di dalam repositori.
- Penjaga Komit Git (Pre-commit Hook): Memblokir komit secara otomatis apabila ditemukan struktur fail yang melanggar standar atau jika pengujian Pest gagal.
- Integrasi Pest Bawaan: Templat pengujian secara otomatis mengimpor ekosistem Laravel untuk memastikan tidak ada galat kelas dasar.
Prasyarat
- PHP 8.1 atau lebih baru
- Laravel 10.0 atau lebih baru
- Pest Testing Framework
Instalasi
Instal paket ini ke dalam proyek Laravel menggunakan Composer:
composer require kornelius/strict-architecture
Setelah terinstal, pastikan untuk memasang penjaga Git agar sistem keamanan arsitektur mulai bekerja:
php artisan strict:install-hook
Penggunaan
1. Membuat Modul Baru
Gunakan perintah Artisan make:strict untuk membangun fitur baru secara instan.
php artisan make:strict Transaksi
Perintah di atas akan menghasilkan fail dengan struktur berikut:
app/Http/Controllers/TransaksiController.php
app/Models/Transaksi.php
app/Services/TransaksiService.php
app/Repositories/TransaksiRepository.php
database/migrations/xxxx_xx_xx_xxxxxx_create_transaksis_table.php
resources/views/transaksi.blade.php
tests/Feature/TransaksiTest.php
Opsi Tambahan:
--route : Menambahkan rute resource secara otomatis ke routes/web.php.
--no-test : Melewati proses pembuatan fail pengujian Pest.
2. Memindai Arsitektur
Untuk memverifikasi apakah proyek saat ini mematuhi standar penamaan yang telah ditetapkan, jalankan perintah pemindai:
php artisan strict:scan
Sistem akan menampilkan daftar fail yang menyalahi aturan jika ditemukan pelanggaran.
Standar Penamaan yang Ditegakkan
Paket ini sangat ketat dalam urusan penamaan fail. Berikut adalah aturan yang diawasi oleh pemindai dan penjaga komit:
PascalCase wajib digunakan untuk:
- Controller
- Model
- Service
- Repository
snake_case atau huruf kecil wajib digunakan untuk:
- Fail antarmuka Blade
.blade.php - Fail Migration
Keamanan Komit (Git Hook)
Saat strict:install-hook dijalankan, paket ini akan menyuntikkan skrip ke dalam .git/hooks/pre-commit . Setiap kali pengembang menjalankan git commit , sistem akan:
- Menjalankan
php artisan strict:scan. - Menjalankan
./vendor/bin/pest. Jika salah satu dari proses tersebut gagal, komit akan dibatalkan secara otomatis.
Lisensi
Paket ini bersifat sumber terbuka dengan lisensi MIT