WARNING
Kamu sedang menjelajahi dokumentasi untuk versi Generator yang lama nih. Tolong pertimbangkan untuk memperbarui proyek kamu ke versi Generator 0.3.x 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.