Laravel Blueprint adalah package untuk Laravel yang memudahkan pembuatan komponen aplikasi seperti model, controller, dan migration menggunakan file definisi sederhana. Dengan Blueprint, Anda bisa mendefinisikan struktur aplikasi dalam format YAML dan menghasilkan kode yang diperlukan secara otomatis.
Kita akan coba latihan dengan studi kasus membuat toko sepatu.
Lakukan instalasi package dengan menjalankan perintah composer require -W --dev laravel-shift/blueprint
. Kemudian jalankan perintah php artisan blueprint:new
. Perintah tersebut akan menghasilkan sebuah file draft.yaml.
Buka file draft.yaml kemudian isi sebagai berikut.
models:
Category:
code: string unique
name: string
img: string
relationships:
hasMany: Shoe
Shoe:
code: string unique
name: string
description: text
price: integer
stock: integer
img: string
category_id: foreign
controllers:
CategoryController:
index:
query: all
render: category.index
show:
find: id
render: category.show
create:
render: category.create
store:
validate: code, name, img
save: category
redirect: category.index
edit:
find: id
render: category.edit
update:
find: id
validate: code, name, img
update: category
redirect: category.show
destroy:
find: id
delete: category
redirect: category.index
ShoeController:
index:
query: all
render: shoe.index
show:
find: id
render: shoe.show
create:
render: shoe.create
store:
validate: code, name, description, price, stock, img
save: shoe
redirect: shoe.index
edit:
find: id
render: shoe.edit
update:
find: id
validate: code, name, description, price, stock, img
update: shoe
redirect: shoe.show
destroy:
find: id
delete: shoe
redirect: shoe.index
Penjelasan dari kode tersebut:
- Category dan Shoe adalah nama model.
- code, name, dan img adalah kolom-kolom tabel categories.
- relationships hasMany menandakan bahwa tabel categories memiliki relasi one to many ke tabel shoes.
- code, name, description, price, stock dan img adalah kolom-kolom tabel shoes.
- category_id merupakan foreign key ke tabel categories.
- CategoryController dan ShoeController adalah nama controller.
- index, show, create, store, edit, update, destroy adalah metode-metode di controller.
- query: all berarti metode index akan mengambil semua entri di tabel.
- find: id berarti metode akan mencari entri berdasarkan ID.
- validate akan memvalidasi input.
- save, update, delete melakukan operasi pada model.
- render mengarahkan ke view tertentu.
- redirect mengarahkan ke route tertentu setelah operasi selesai.
Jika sudah selesai, jalankan perintah php artisan blueprint:build
. Perintah ini akan menghasilkan:
- Model Category dan Shoe.
- Migration untuk membuat tabel categories dan shoes dengan kolom yang telah didefinisikan.
- Factory dan Seeder.
- Controller CategoryController dan ShoeController
Bagaimana jika kita memiliki perubahan pada file draft.yaml? Jalankan terlebih dahulu perintah php artisan blueprint:erase
, perintah ini akan menghapus semua file yang sudah dibuat tadi. Kemudian jalankan kembali perintah php artisan blueprint:build
.
Dengan menggunakan Laravel Blueprint, Anda bisa dengan cepat mendefinisikan dan menghasilkan struktur dasar aplikasi Anda tanpa menulis kode secara manual. Laravel Blueprint sangat berguna untuk mempercepat proses pengembangan awal dan menjaga konsistensi dalam kode yang dihasilkan.
Top comments (0)