$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Laravel Course
Search
Sumardi Shukor
June 23, 2020
Programming
0
66
Laravel Course
Introduction to Laravel PHP Framework
Sumardi Shukor
June 23, 2020
Tweet
Share
More Decks by Sumardi Shukor
See All by Sumardi Shukor
Aplikasi Mudahalih (Mobile Applications)
sumardi
1
1.2k
Other Decks in Programming
See All in Programming
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
6
920
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.2k
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
2
640
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.1k
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
260
開発に寄りそう自動テストの実現
goyoki
1
740
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.2k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
430
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
12
7.1k
Level up your Gemini CLI - D&D Style!
palladius
1
180
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
20 years of Symfony, what's next?
fabpot
2
340
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
[SF Ruby Conf 2025] Rails X
palkan
0
490
Bash Introduction
62gerente
615
210k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Faster Mobile Websites
deanohume
310
31k
Optimizing for Happiness
mojombo
379
70k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
-BSBWFM$PVSTF 5IF8FC'SBNFXPSL'PS"SUJTBO 4VNBSEJ4IVLPS 8FC.PCJMF"QQT5SBJOFS IUUQTBCPVUNFTVNBSEJ +VOF %#,- ,VBMB-VNQVS
-BSBWFM$PVSTF !TVNBSEJ 4PGUXBSF3FRVJSFNFOUT c9".11WY ‣ IUUQTXXXBQBDIFGSJFOETPSHEPXOMPBEIUNM c$PNQPTFSWY ‣ IUUQTHFUDPNQPTFSPSHEPXOMPBE c/PEFKTWY
‣ IUUQTOPEFKTPSHFOEPXOMPBE c7JTVBM4UVEJP$PEFWY ‣ IUUQTDPEFWJTVBMTUVEJPDPN
-BSBWFM$PVSTF !TVNBSEJ 8IBU*T-BSBWFM c-BSBWFMJTBPQFOTPVSDF1)1XFCBQQMJDBUJPOGSBNFXPSL c$SFBUFECZ5BZMPS0UXFMM c*OUFOEFEGPSUIFEFWFMPQNFOUPGXFCBQQMJDBUJPOGPMMPXJOH UIFNPEFMWJFXDPOUSPMMFS .7$ BSDIJUFDUVSBMQBUUFSO c8FCTJUFIUUQTMBSBWFMDPN
c%PDVNFOUBUJPOIUUQTMBSBWFMDPNEPDT
-BSBWFM$PVSTF !TVNBSEJ 8IZ-BSBWFM c&YQSFTTJWF CFBVUJGVMTZOUBY 7BMVFFMFHBODF TJNQMJDJUZBOESFBEJCJMJUZ :PVMMGJUSJHIUJO-BSBWFMJT EFTJHOFEGPSQFPQMFKVTUMJLFZPV
c5BJMPSFEGPSZPVSUFBN 8IFUIFSZPVSFBTPMPEFWFMPQFSPSBQFSTPOUFBN -BSBWFMLFFQT FWFSZPOFJOTZOD c.PEFSOUPPMLJU1JODIPGNBHJD "OBNB[JOH03. QBJOMFTTSPVUJOHBOETJNQMFBVUIFOUJDBUJPOHJWFZPV UIFUPPMTZPVOFFEGPSNPEFSO NBJOUBJOBCMF1)1
-BSBWFM$PVSTF !TVNBSEJ 4VQQPSU1PMJDZ 7FSTJPO 3FMFBTF #VH'JYFT6OUJM 4FDVSJUZ'JYFT6OUJM Y -54
4FQUFNCFSSE 4FQUFNCFSSE 4FQUFNCFSSE 'FCSVBSZUI "VHVTUUI 'FCSVBSZUI -54 "VHVTUUI "VHVTUUI "VHVTUUI -BSBWFM &OE0G-JGF &0- .PSFJOGPIUUQTMBSBWFMDPNEPDTYSFMFBTFT
-BSBWFM$PVSTF !TVNBSEJ 4FSWFS3FRVJSFNFOUT c1)1 c1)1&YUFOTJPOT#$.BUI $UZQF +40/ .CTUSJOH 0QFO44-
1%0 5PLFOJ[FS 9.- c$VSSFOUMZ -BSBWFMTVQQPSUTGPVSEBUBCBTFT .Z42- 1PTUHSF42- 42-JUF 42-4FSWFS
-BSBWFM$PVSTF !TVNBSEJ *OTUBMMJOH-BSBWFM cWJB-BSBWFM*OTUBMMFS $-* composer global require laravel/installer
cd %USERPROFILE%/Desktop laravel new blog !--auth c-PDBM%FWFMPQNFOU4FSWFS cd blog php artisan serve
-BSBWFM$PVSTF !TVNBSEJ -PDBM%FWFMPQNFOU4FSWFS cIUUQMPDBMIPTU
-BSBWFM$PVSTF !TVNBSEJ 1VCMJD%JSFDUPSZ c"GUFSJOTUBMMJOH-BSBWFM ZPVTIPVMEDPOGJHVSFZPVSXFCTFSWFST EPDVNFOUXFCSPPUUPCFUIFpublicEJSFDUPSZ 5IFindex.phpJOUIJTEJSFDUPSZTFSWFTBTUIFGSPOUDPOUSPMMFS GPSBMM)551SFRVFTUTFOUFSJOHZPVSBQQMJDBUJPO
-BSBWFM$PVSTF !TVNBSEJ $POGJHVSBUJPO'JMFT c"MMPGUIFDPOGJHVSBUJPOGJMFTGPSUIF-BSBWFMGSBNFXPSLBSF TUPSFEJOUIFconfigEJSFDUPSZ&BDIPQUJPOJTEPDVNFOUFE TP GFFMGSFFUPMPPLUISPVHIUIFGJMFTBOEHFUGBNJMJBSXJUIUIF PQUJPOTBWBJMBCMFUPZPV
-BSBWFM$PVSTF !TVNBSEJ %JSFDUPSZ1FSNJTTJPOT c"GUFSJOTUBMMJOH-BSBWFM ZPVNBZOFFEUPDPOGJHVSFTPNF QFSNJTTJPOT%JSFDUPSJFTXJUIJOUIFstorageBOE UIFbootstrap/cacheEJSFDUPSJFTTIPVMECFXSJUBCMFCZZPVS XFCTFSWFSPS-BSBWFMXJMMOPUSVO
-BSBWFM$PVSTF !TVNBSEJ "QQMJDBUJPO,FZ c5IFOFYUUIJOHZPVTIPVMEEPBGUFSJOTUBMMJOH-BSBWFMJTTFUZPVS BQQMJDBUJPOLFZUPBSBOEPNTUSJOH*GZPVJOTUBMMFE-BSBWFMWJB $PNQPTFSPSUIF-BSBWFMJOTUBMMFS UIJTLFZIBTBMSFBEZCFFOTFU GPSZPV c5PTFUUIFBQQMJDBUJPOLFZWJB"SUJTBO$-*
php artisan key:generate
-BSBWFM$PVSTF !TVNBSEJ 4FU5JNF[POF c0QFOconfig/app.php c4FUtimezoneUPAsia/Kuala_Lumpur
-BSBWFM$PVSTF !TVNBSEJ %BUBCBTF$POGJHVSBUJPO c0QFO.env GJMFBOEDIBOHFJUBDDPSEJOHUPZPVSTFSWFSTFUVQ DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=blog-app DB_USERNAME=root
DB_PASSWORD=
-BSBWFM$PVSTF !TVNBSEJ .BJOUFOBODF.PEF c5PFOBCMFNBJOUFOBODFNPEF php artisan down php artisan down
!--message="Upgrading Database" php artisan down !--allow=127.0.0.1 c5PEJTBCMFNBJOUFOBODFNPEF php artisan up
-BSBWFM$PVSTF !TVNBSEJ $POGJHVSBUJPO$BDIJOH c5PHJWFZPVSBQQMJDBUJPOBTQFFECPPTU ZPVTIPVMEDBDIFBMMPG ZPVSDPOGJHVSBUJPOGJMFTJOUPBTJOHMFGJMF c&YFDVUF"SUJTBO$-* php artisan
config:cache
-BSBWFM$PVSTF !TVNBSEJ 8IBU*T.7$ c.7$JTBOBSDIJUFDUVSBMQBUUFSOUIBUTFQBSBUFTBOBQQMJDBUJPO JOUPUISFFNBJOMPHJDBMDPNQPOFOUT .PEFMDPSSFTQPOETUPBMMUIFEBUBSFMBUFEMPHJDUIBUUIFVTFSXPSLT XJUI 7JFXGPSBMMUIF6*MPHJDPGUIFBQQMJDBUJPO
$POUSPMMFSBDUBTBOJOUFSGBDFCFUXFFO.PEFMBOE7JFXDPNQPOFOUT UPQSPDFTTBMMUIFCVTJOFTTMPHJDBOEJODPNJOHSFRVFTUT NBOJQVMBUF EBUBVTJOHUIF.PEFMDPNQPOFOUBOEJOUFSBDUXJUIUIF7JFXTUP SFOEFSUIFGJOBMPVUQVU
-BSBWFM$PVSTF !TVNBSEJ (SBQIJDBM$PODFQU Controller View Model Database 3FRVFTU 3FTQPOTF
%BUB 3FTQPOTF %JTQMBZ %BUB *OUFSBDU8JUI %BUBCBTF 3FRVFTU %BUB