Ini adalah boilerplate untuk panel admin Laravel 8.0 yang dibuat dengan tema AdminLTE 3.0, Alpinejs 2.0, Livewire 2.0, didukung dengan pengujian dan cabang fitur opsional.
Anda dapat memeriksa repo ini. Saya aktif mengerjakan Laravel Castra. Ide yang sama, alat yang berbeda (Hotwire Turbo).
Terkadang paket terlalu besar atau terlalu rumit untuk digunakan. Di lain waktu, paket tidak memiliki fitur penting yang Anda cari dan Anda melakukan beberapa peretasan untuk menyiasatinya.
Yang Anda lewatkan adalah memiliki kendali atas kode tersebut, dan sekarang Anda memilikinya! Tidak suka bagaimana pengguna baru ditambahkan. Tidak masalah. Anda dapat mengubah kode sesuka Anda. Tidak perlu lagi mem-forking paket dan mengacaukan kodenya. Idenya adalah untuk membuat cabang fitur standar dan membuatnya tersedia bagi orang lain untuk menggabungkannya ke dalam cabang masternya.
Berikut adalah daftar cabang fitur yang didukung. Dengan menggabungkannya ke dalam master, Anda membuka fitur baru.
Setelah menginstal Laravel Anda harus menjalankan perintah berikut:
git clone https://github.com/jcergolj/laravellte.git
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run dev
composer cghooks update
php artisan migrate:fresh --seed
Mari kita hadapi itu. Terkadang kita ceroboh dan tidak menjaga kode dengan baik. Saya menambahkan beberapa paket yang berguna (bukankah ironis) untuk meringankan beban pengembang sebanyak mungkin.
"php artisan insights --no-interaction --min-quality=90 --min-complexity=85 --min-architecture=90 --min-style=95"
Untuk tindakan CRUD Anda mungkin mempertimbangkan untuk menggunakan perintah scaffolding file bawaan. Ini menghasilkan file untuk tindakan Indeks, Buat, Tampilkan, Edit dan Hapus seperti ini:
php artisan make:ltd-component bla --index --create --show --edit --delete
Anda dapat menghilangkan salah satu opsi. Jika mau, Anda dapat memperbarui file stubs
sesuka Anda. Ada komentar di file scaffold yang bertindak sebagai pengingat bagi Anda untuk mengubah kode. Anda dapat menemukannya dengan mengetik: index-review
, create-review
, show-review
, edit-review
, delete-review
. Perancah Pabrik dan Model tidak disertakan dalam perintah ini.
Laravellte menggunakan sistem otorisasi berbasis izin peran. Hanya pengguna dengan peran Admin yang dapat menambahkan peran baru dan memberikan izin padanya.
Untuk izin sumber daya baru ditambahkan melalui PermissionsTableSeeder. Berdasarkan konvensi, jenis izin utama adalah indeks , buat , edit , tampilkan , dan hapus dengan sumber daya dalam awalan jamak. Contoh: pengguna.index . Karena itu, Anda bebas menambahkan milik Anda sendiri. Namun Anda harus meninjau/mengubah kodenya.
Berdasarkan konvensi, nama rute harus menggunakan tipe berikut: index , create , edit , show , dan delete . Lihat contoh.
Untuk komponen livewire, konvensi penamaannya adalah sebagai berikut: Anda harus menggunakan salah satu jenis tersebut, diikuti dengan nama sumber daya, lalu Komponen. misalnya IndexUserComponent Semua komponen Livewire harus menggunakan sifat HasLivewireAuth. Berikut implementasinya.
Saat menambahkan izin ke peran tersebut, ada file tambahan yang disebut owner_restricted . Jika bidang yang dibatasi pemilik berlaku untuk halaman indeks mana pun, pengguna dengan izin tersebut hanya dapat melihat sumber dayanya sendiri. Namun, agar ini berfungsi, sumber daya harus memiliki owner_id yang diajukan dan VisibleTo global terpasang dalam metode boot.
Jika bidang yang dibatasi pemilik berlaku untuk jenis tampilkan , edit, dan hapus , pengguna hanya dapat mengubah sumber daya yang dimilikinya.
Untuk tipe pembuatan yang dibatasi pemilik diabaikan.
Intinya adalah ForRouteGate yang menangani otorisasi. Penyebutan terhormat diberikan kepada Authorization Middleware.
Untuk pembatasan izin Peran Admin tidak berlaku.
Berlisensi di bawah lisensi MIT
Janez Cergolj | Horacio Degiorgi | Chris Thompson | Maduka Jayalath |