Thunderclap
Thunderclap adalah sebuah code generator. Thunderclap membaca skema database dan menghasilkan sekumpulan kode berdasarkan template yang telah didefinisikan sebelumnya.
Thunderclap bertujuan menggantikan proses copy paste kode ketika membuat fitur CRUD, yang biasanya cukup monoton. Dengan thunderclap, kualitas dan konsistensi kode lebih terjaga, meskipun aplikasi dikembangkan oleh banyak programmer.
Ada kalanya kode yang dihasilkan oleh thunderclap tetap harus dimodifikasi terlebih dahulu sesuai kebutuhan aplikasi. Hal tersebut sangat wajar dilakukan. Thunderclap adalah code generator, bukan application generator. Apa yang dihasilkan thunderclap sepenuhnya bergantung dari programmer. Template bisa dibuat untuk mengakomodir 100% fungsionalitas dimana usaha untuk membuat template tersebut tentunya jadi lebih besar. Bisa juga sekedar mengejar angka 50% sehingga template bisa dibuat dengan cepat, lalu sisa waktunya bisa dimanfaatkan untuk koding secara manual.
Instalasi
composer require laravolt/thunderclap
Penggunaan
php artisan laravolt:clap
php artisan laravolt:clap --table=users --template=custom --force
Registrasikan module pada composer.json dan config/app.php
File composer.json
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "modules" //Tambahkan disini
},
....
},
....
File config/app.php, ket. "Category" adalah nama tabel
'providers' => [
....
/*
* Package Service Providers...
*/
Modules\Category\Providers\CategoryServiceProvider::class,
/*
* Application Service Providers...
*/
....
]
Run composer dumpautoload
Custom Template
Template yang tersedia saat ini dibuat khusus untuk admin panel laravolt. Untuk membuat custom template, ikut langkah berikut:
Jalankan
php artisan vendor:publish --provider="Laravolt\Thunderclap\ServiceProvider"
Ubah file
config/laravolt/thunderclap.php
, ganti default template dan tambahkan template directory baru:
// Template skeleton (stubs)
'default' => 'custom',
// name => directory path, relative with stubs directory or absolute path
'templates' => [
'laravolt' => 'laravolt',
'custom' => base_path('stubs/custom'),
],
- Buat template baru di folder
stubs/custom
. Cara paling cepat adalah dengan menyalin dari template bawaan thunderclap yang bisa ditemukan divendor/laravolt/thunderclap/stubs/laravolt
. Pastikan semua file diakhiri dengan sufiks
.stub
, sesuai dengan template bawaan.Jalankan kembali
php artisan laravolt:clap
.