About Cacher
Web App
Download
Sign In
Sign Up
menu
Cacher is the code snippet organizer for pro developers
We empower you and your team to get more done, faster
Learn More
uyab
1/16/2018 - 10:30 AM
share
Share
add_circle_outline
Save
Catatan Worskhop PHP
Catatan Worskhop PHP
workshop-php.md
content_copy
file_download
Rendered
Source
Catatan Workshop PHP
Request Peserta
package
cara bikin package
design pattern
event listener
queue
gate vs policy
API best practice
endpoint (sebagian sudah dibahas ketika bikin routes)
transform
Kapan pakai interface
Jika ingin mudah switching implementasinya saat runtime
TDD
Apa itu Repository, apa itu Service, apa itu Query Object
Service adalah segala sesuatu diluar MVC dkk
Please dont call something Service, because it’s to generic
Repository adalah Service yang tugasnya mengambil data dari suatu sumber
FooCreator adalah Service yang tugasnya meng-create something
Log adalah service yang tugasnya melakukan logger
Query object adalah Class yang cuma punya satu fungsi, yaitu melakukan query
biasanya untuk query yang kompleks dan panjang
Scopes, Repos, and Query Objects
Studi Kasus
project management (mirip active collab)
admin bisa manage (CRUD) project
admin bisa invite
multiple
member ke project
admin bisa remove seorang member tertentu dari project
member bisa bikin tasklist
member bisa delete tasklist
member bisa bikin task ke suatu tasklist
member bisa bikin subtask ke dalam suatu task
member bisa nambah komentar ke suatu task
member bisa mengeset assignee suatu task
member yang diset dapat notifikasi email
tabel ganttchart
asumsi
admin sudah ada
member sudah ada
dibedakan berdasar kolom role
Model
User
kolom bawaan
role
Profile
user_id
jenis kelamin
tanggal lahir
pendidikan terakhir
status pernikahan
alamat
nomor hape
Project
nama
deskripsi
klien_id
Klien
nama
Tasklist
project_id
nama
Task
tasklist_id
subyek
deskripsi
assignee_id
creator_id
subtasks
Komentar
task_id
konten
commentator_id
Day 1
Model
Migration
data type
ENUM => HURUF_BESAR (sama sepertin constant)
constraints
foreign key
Seeder
seeder hanya untuk development
handle relationship
use eloquent relationship to save model
hindari hardcoded xxx_id
Database Factory
Day 2
Resource controller
hindari custom action
how to nested resource
Watch Day 1 - Adam Wathan from Laracon US 2017!
PR
Selesaikan semua view
Silakan pakai framework CSS selera masing-masing, plain old HTML pun boleh
RULE: NO JAVASCRIPT, just plain old request-response
clear