WARNING
Kamu sedang menjelajahi dokumentasi untuk versi Generator yang lama nih. Tolong pertimbangkan untuk memperbarui proyek kamu ke versi Generator 0.4 yaa.
Fitur
Versi Sederhana
- CRUD Generator
- Mendukung lebih dari 15 jenis kolom migrasi, seperti
string, char, date, year
, dll. - Mendukung Input HTML 5
- Validasi Request yang didukung:
required, in, image, min, max, string, email, number, date, exists, nullable, unique, confirmed
- Tabel Data (Yajra Datatables)
- One To Many (Inverse) / Belongs To
- Pembuatan Model
- Unggah Gambar (Intervention Image)
- Mendukung lebih dari 15 jenis kolom migrasi, seperti
Versi Lengkap
- CRUD Generator
- Menu Sidebar yang dapat dikonfigurasi
- CRUD User
- Hak akses (Spatie Permission)
- Otentikasi (Laravel Fortify)
- Masuk
- Daftar
- Lupa Kata Sandi
- Otentikasi 2FA
- Pembaruan informasi profil
Perintah Tersedia
Instalasi Generator
Instalasi varian Generator: Sederhana (Simple version) / Lengkap (Full version)
Untuk versi sederhana
php artisan generator:install simple
Untuk versi lengkap
php artisan generator:install full
DANGER
Perintah ini akan menimpa beberapa berkas, jadi kamu harus berhati-hati saat menjalankan perintah ini dan hindari menjalankannya lebih dari sekali.
Tetapkan menu Sidebar
Tetapkan menu Sidebar menjadi kode .blade
(statis) atau gunakan daftar dari konfigurasi (dinamis)
Tempat konfigurasi menu Sidebar berada di config/generator.php
php artisan generator:sidebar dynamic
Saat menggunakan menu Sidebar statis, kamu bebas untuk mengubah menu Sidebar yang berada di resources/views/layouts/sidebar.blade.php
php artisan generator:sidebar static
INFO
Setelah kamu membuat modul baru menggunakan Generator, Sidebar akan otomatis kembali ke dinamis. Tapi tenang kamu dapat mengubahnya kembali seperti semula.
Utilitas/Helper
Helper
Periksa menu aktif pada Sidebar
is_active_menu(string|array $menu): boolean;
Kelas Utilitas
Semua fungsi utilitas yang mungkin kamu butuhkan, tersedia berada di App\Generators\GeneratorUtils
use App\Generators\GeneratorUtils;
/**
* Dapatkan template/berkas.
*/
public static function getTemplate(string $path): string;
/**
* Dapatkan berkas yang telah dibuat.
*/
public static function getPublishedStub(string $path): string;
/**
* Periksa folder jika tidak ada, lalu buat folder.
*/
public static function checkFolder(string $path): void;
/**
* Ubah teks ke singular pascal case.
*/
public static function singularPascalCase(string $string): string;
/**
* Ubah teks ke singular pascal case.
*/
public static function pascalCase(string $string): string;
/**
* Ubah teks ke plural pascal case.
*/
public static function pluralPascalCase(string $string): string;
/**
* Ubah teks ke plural snake case.
*/
public static function pluralSnakeCase(string $string): string;
/**
* Ubah teks ke singular snake case.
*/
public static function singularSnakeCase(string $string): string;
/**
* Ubah teks ke plural pascal case.
*/
public static function pluralCamelCase(string $string): string;
/**
* Ubah teks ke singular pascal case.
*/
public static function singularCamelCase(string $string): string;
/**
* Ubah teks ke plural, kebab case, dan huruf kecil.
*/
public static function pluralKebabCase(string $string): string;
/**
* Ubah teks ke kebab case, dan huruf kecil.
*/
public static function kebabCase(string $string): string;
/**
* Ubah teks ke singular, kebab case, dan huruf kecil.
*/
public static function singularKebabCase(string $string): string;
/**
* Ubah teks ke singular, hapus karakter khusus, dan huruf kecil.
*/
public static function cleanSingularLowerCase(string $string): string;
/**
* Hapus karakter khusus, dan huruf kecil.
*/
public static function cleanLowerCase(string $string): string;
/**
* Ubah teks ke plural, hapus karakter khusus, dan huruf besar setiap huruf pertama.
*/
public static function cleanPluralUcWords(string $string): string;
/**
* Ubah teks ke singular, hapus karakter khusus, dan huruf besar setiap huruf pertama.
*/
public static function cleanSingularUcWords(string $string): string;
/**
* Hapus karakter khusus, dan huruf besar setiap huruf pertama.
*/
public static function cleanUcWords(string $string): string;
/**
* Ubah teks ke plural, hapus karakter khusus, dan huruf kecil.
*/
public static function cleanPluralLowerCase(string $string): string;
/**
* Dapatkan 1 kolom setelah id berada di tabel.
*/
public static function getColumnAfterId(string $table): string;
/**
* Pilih id dan kolom setelah id berada di tabel.
*/
public static function selectColumnAfterIdAndIdItself(string $table): string;
/**
* Dapatkan lokasi model atau path jika mengandung '/'.
*/
public static function getModelLocation(string $model): string;
/**
* Converts camelCase string to have spaces between each.
*/
public static function fromCamelCase(string $string): string;
/**
* Tetapkan nama model dari yang terakhir dari array (jika ada).
*/
public static function setModelName(string $model, string $style = 'pascal case'): string;
/**
* Tetapkan gambar default dan kode ke controller.
*/
public static function setDefaultImage(null|string $default, string $field, string $model): array;
/**
* Ubah array dari konfigurasi menjadi string seperti array.
*/
public static function convertArraySidebarToString(array $sidebars): string;
/**
* Periksa apakah menu aktif.
*/
public static function isActiveMenu(string|array $route): string;
Yang ingin kami tambahkan di masa depan
- Generator CRUD API (tersedia pada v0.3.0)
- Dokumentasi API
- Dapat membuat lebih banyak jenis model relasi
- Unggah berkas selain gambar
- CRUD dengan Design pattern (Service/Repository)
- Laravel Pagination
- Impor/Ekspor csv
- Input untuk nama tabel kustom
- Ubah validasi Request sebagai Array
- Menambahkan pilihan untuk apakah menggunakan Route model binding
- Menambahkan pilihan untuk mematikan Pluralization otomatis
- Jika zona waktu diatur ke Indonesia, maka nonaktifkan Pluralization
- Menambahkan nama pengguna ke tabel Users
- Template Admin baru
- Pilihan untuk otomatisasi tabel migrasi atau tidak
- Menambahkan konfigurasi untuk menampilkan gambar dalam tabel data atau tidak
- kemampuan untuk menyembunyikan/menampilkan Field pada halaman detail
- Konfigurasi untuk membatasi Field yang ditampilkan pada halaman indeks
- Dapat memilih Field yang akan ditampilkan dalam relasi belongsTo
- Generator dapat membuat Seeder dan Factory (tersedia pada v0.3.0)
- Menambahkan konfigurasi bawaan untuk panjang minimum & maksimum untuk jenis kolom String
- Generator dapat membuat subfolder untuk validasi Request
- Menambahkan konfigurasi untuk jenis gambar, tampilkan dalam bentuk bulat atau kotak
- Menambahkan dukungan untuk
diffForHumans()
ke jenis Input tanggal. - Validasi kustom yang dapat ditulis pada Input
- Generator dapat menggunakan penyimpanan Cache
- Generator dapat membuat kebijakan
- Generator dapat membuat pengamat model
- Gunakan Database Transaction
- Generator dapat membuat mutator & pengecoran
- Konfigurasi untuk unggah berkas ke S3
- Menambahkan opsi Soft Delete
- Jika model berada dalam subfolder maka rute akan menggunakan sub-rute
- Menambahkan Unit Test untuk Generator
- Generator dapat membuat Unit Test
- Menambahkan pemberitahuan jika pengguna mengubah email atau kata sandi mereka
- Menambahkan log aktivitas
- Menambahkan cadangan basis data
- Generator dapat membuat kelas enum untuk jenis kolom tipe enum
- Refaktor kode
INFO
Daftar diatas berubah kapan saja dan fitur mungkin ditambahkan dalam urutan acak.