• Tidak ada hasil yang ditemukan

Makalah Laravel

N/A
N/A
Protected

Academic year: 2021

Membagikan "Makalah Laravel"

Copied!
39
0
0

Teks penuh

(1)

MAKALAH

MAKALAH

PEMROGRAMAN FRAMEWORK 

PEMROGRAMAN FRAMEWORK 

“LARAVEL”

“LARAVEL”

Disusun Oleh: Disusun Oleh: A

Arriiffaattuul l KKhhooiirruul l AAnnaarr !!""##$$%%""""&&##''

PROGRAM ()*D+ )EKN+K +NFORMA)+KA

PROGRAM ()*D+ )EKN+K +NFORMA)+KA

()M+K A(+A MALANG

()M+K A(+A MALANG

$%",

$%",

(2)

PENDAH*L*AN

PENDAH*L*AN

++-- LLAARRAAVVEELL

Lara.el

Lara.el adalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangunadalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangun den

dengan gan konkonsesep p MVMVC C (m(modeodel l viview ew conconrrolollerler!" !" #a#araravel vel adadalaalah h penpengemgembanbangan gan wewebsibsiee  berbasis

 berbasis MVP MVP yang yang diulis diulis dalam dalam PHP PHP yang yang dirancang dirancang unuk unuk meningkakan meningkakan kualiaskualias  perangka

 perangka lunak dlunak dengan engan mengurangi mengurangi biaya biaya pengembangan pengembangan awal dan awal dan biaya pbiaya pemeliharaan, emeliharaan, dandan unuk meningkakan pengalaman beker$a dengan aplikasi dengan menyediakan sinaks yang unuk meningkakan pengalaman beker$a dengan aplikasi dengan menyediakan sinaks yang ekspresif, $elas dan menghema waku"

ekspresif, $elas dan menghema waku"

MVC adalah sebuah pendekaan perangka lunak yang memisahkan aplikasi logika dari MVC adalah sebuah pendekaan perangka lunak yang memisahkan aplikasi logika dari  presenasi"

 presenasi" MVC memisahkMVC memisahkan an aplikasi aplikasi berdasarkan berdasarkan komponen% komponen% komponen komponen aplikasi, aplikasi, seperi seperi && manipulasi daa, conroller, dan user inerface"

manipulasi daa, conroller, dan user inerface" '"

'" MoModeldel, , ModModel el memewawakikili li ssrukrukuur r dadaa" a" iiasaasanya nya momodedel l beberisrisi i funfungsgsi%fi%fungungsi si yanyangg memban

membanu u seseoraseseorang dalam ng dalam pengelolpengelolaan basis aan basis daa seperi memasukkan daa ke daa seperi memasukkan daa ke basisbasis daa, pembaruan daa dan lain%lain"

daa, pembaruan daa dan lain%lain" )"

)" VViewiew, V, View adalaiew adalah bagian yah bagian yang mengang mengaur ampilur ampilan ke penggunan ke pengguna" isa a" isa dikaakandikaakan  berupa halaman web"

 berupa halaman web" *"

*" ConrolConrollerler, Conro, Conroller meller merupakan brupakan bagian yanagian yang men$eg men$embaani mmbaani model dan odel dan viewview""

++++-- FF++))**RR//FF++))**R R LLAARRAAVVEELL

 undles yaiu sebuah fiur dengan sysem pengemasan modular dan berbagai bundleundles yaiu sebuah fiur dengan sysem pengemasan modular dan berbagai bundle

elah ersedia unuk di gunakan dalam aplikasi +nda" elah ersedia unuk di gunakan dalam aplikasi +nda"

 llo-o-ueuen n ././M M memerurupapakakan n pepenenerarapapan n PHPHP P lalan$n$uuan an dadari ri popolala ““aciacive ve recorecordrd””,,

me

menyenyediadiakan kan memeoode de ininerernal nal ununuk uk memengangaaasi si kenkendaldala a hubhubungungan an ananaara ra ob$ob$ek ek  daabase" Pembangun -uery #aravel

daabase" Pembangun -uery #aravel00s 0luen ini didukung oleh lo-uen"s 0luen ini didukung oleh lo-uen"

 +pp+pplilicacaioion n lologic gic memeruprupakaakan n bagbagian ian dardari i aplaplikikasi asi yayang ng didikemkembanbangkagkan, n, baibaik k 

men

menggunggunakan akan ConConrollrollers ers aaaau u sebasebagai gai bagibagian an dari dari dekldeklarasarasi i /ou/oue" e" 1in1inak ak yangyang digunakan unuk mendefinisikannya mirip dengan yang dugunakan oleh framework  digunakan unuk mendefinisikannya mirip dengan yang dugunakan oleh framework  1inara"

1inara"

 /everse rouing, mendefinisikan hubungan anara #ink dan /oue, sehingga $ika suau/everse rouing, mendefinisikan hubungan anara #ink dan /oue, sehingga $ika suau

saa ada perubahan pada roue secara oomais akan ersambung dengan link yang saa ada perubahan pada roue secara oomais akan ersambung dengan link yang

(3)

PENDAH*L*AN

PENDAH*L*AN

++-- LLAARRAAVVEELL

Lara.el

Lara.el adalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangunadalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangun den

dengan gan konkonsesep p MVMVC C (m(modeodel l viview ew conconrrolollerler!" !" #a#araravel vel adadalaalah h penpengemgembanbangan gan wewebsibsiee  berbasis

 berbasis MVP MVP yang yang diulis diulis dalam dalam PHP PHP yang yang dirancang dirancang unuk unuk meningkakan meningkakan kualiaskualias  perangka

 perangka lunak dlunak dengan engan mengurangi mengurangi biaya biaya pengembangan pengembangan awal dan awal dan biaya pbiaya pemeliharaan, emeliharaan, dandan unuk meningkakan pengalaman beker$a dengan aplikasi dengan menyediakan sinaks yang unuk meningkakan pengalaman beker$a dengan aplikasi dengan menyediakan sinaks yang ekspresif, $elas dan menghema waku"

ekspresif, $elas dan menghema waku"

MVC adalah sebuah pendekaan perangka lunak yang memisahkan aplikasi logika dari MVC adalah sebuah pendekaan perangka lunak yang memisahkan aplikasi logika dari  presenasi"

 presenasi" MVC memisahkMVC memisahkan an aplikasi aplikasi berdasarkan berdasarkan komponen% komponen% komponen komponen aplikasi, aplikasi, seperi seperi && manipulasi daa, conroller, dan user inerface"

manipulasi daa, conroller, dan user inerface" '"

'" MoModeldel, , ModModel el memewawakikili li ssrukrukuur r dadaa" a" iiasaasanya nya momodedel l beberisrisi i funfungsgsi%fi%fungungsi si yanyangg memban

membanu u seseoraseseorang dalam ng dalam pengelolpengelolaan basis aan basis daa seperi memasukkan daa ke daa seperi memasukkan daa ke basisbasis daa, pembaruan daa dan lain%lain"

daa, pembaruan daa dan lain%lain" )"

)" VViewiew, V, View adalaiew adalah bagian yah bagian yang mengang mengaur ampilur ampilan ke penggunan ke pengguna" isa a" isa dikaakandikaakan  berupa halaman web"

 berupa halaman web" *"

*" ConrolConrollerler, Conro, Conroller meller merupakan brupakan bagian yanagian yang men$eg men$embaani mmbaani model dan odel dan viewview""

++++-- FF++))**RR//FF++))**R R LLAARRAAVVEELL

 undles yaiu sebuah fiur dengan sysem pengemasan modular dan berbagai bundleundles yaiu sebuah fiur dengan sysem pengemasan modular dan berbagai bundle

elah ersedia unuk di gunakan dalam aplikasi +nda" elah ersedia unuk di gunakan dalam aplikasi +nda"

 llo-o-ueuen n ././M M memerurupapakakan n pepenenerarapapan n PHPHP P lalan$n$uuan an dadari ri popolala ““aciacive ve recorecordrd””,,

me

menyenyediadiakan kan memeoode de ininerernal nal ununuk uk memengangaaasi si kenkendaldala a hubhubungungan an ananaara ra ob$ob$ek ek  daabase" Pembangun -uery #aravel

daabase" Pembangun -uery #aravel00s 0luen ini didukung oleh lo-uen"s 0luen ini didukung oleh lo-uen"

 +pp+pplilicacaioion n lologic gic memeruprupakaakan n bagbagian ian dardari i aplaplikikasi asi yayang ng didikemkembanbangkagkan, n, baibaik k 

men

menggunggunakan akan ConConrollrollers ers aaaau u sebasebagai gai bagibagian an dari dari dekldeklarasarasi i /ou/oue" e" 1in1inak ak yangyang digunakan unuk mendefinisikannya mirip dengan yang dugunakan oleh framework  digunakan unuk mendefinisikannya mirip dengan yang dugunakan oleh framework  1inara"

1inara"

 /everse rouing, mendefinisikan hubungan anara #ink dan /oue, sehingga $ika suau/everse rouing, mendefinisikan hubungan anara #ink dan /oue, sehingga $ika suau

saa ada perubahan pada roue secara oomais akan ersambung dengan link yang saa ada perubahan pada roue secara oomais akan ersambung dengan link yang

(4)

relevan" 2eika #ink yang dibua dengan menggunakan nama%nama dari /oue yang relevan" 2eika #ink yang dibua dengan menggunakan nama%nama dari /oue yang ada, secara oomais #aravel akan membua 3/I yang sesuai"

ada, secara oomais #aravel akan membua 3/I yang sesuai"

 /esful conrollers, memberikan sebuah opion (pilihan! unuk memisahkan logika/esful conrollers, memberikan sebuah opion (pilihan! unuk memisahkan logika

dalam melayani

dalam melayani HTTP 4T dan perminaan P.1T"HTTP 4T dan perminaan P.1T"

 ClaClass ss auauo o loadloading, ing, menmenyediyediakan akan oomoomaiais s loadloading ing unuunuk k clasclass%cls%class ass PHPPHP, , anpanpaa

mem

membuubuuhkan hkan pemepemeriksriksaan aan manmanual ual ererhadahadap p $al$alur ur masmasuknyuknya" a" 0i0iur ur ini ini mencmencegahegah loading yang yang idak perlu"

loading yang yang idak perlu"

 View composers adalah kode uni logical yang dapa dieksekusi keika sebuah ViewView composers adalah kode uni logical yang dapa dieksekusi keika sebuah View

diload" diload"

 IoC Conainer memungkinkan unuk ob$ek baru yang dihasilkan dengan mengikuiIoC Conainer memungkinkan unuk ob$ek baru yang dihasilkan dengan mengikui

 prinsip

 prinsip conrol conrol pembalik, pembalik, dengan dengan pilhan pilhan conoh conoh dan dan referensi referensi dari dari ob$ek ob$ek baru baru sebagaisebagai singleons"

singleons"

 MiMigragraiions ons memenyenyediadiakan kan verversi si sisissem em conconrorol l ununuk uk skskemema a dadaababasease, , sehsehininggagga

mem

memungkungkinkainkan n unuunuk k menmenghubghubungkungkan an peruperubahabahan n daldalah ah basbasis is kode kode apliaplikasi kasi dandan keperluan yang dibuuhkan dalam merubah aa

keperluan yang dibuuhkan dalam merubah aa leak daabase, mempermleak daabase, mempermudah dalamudah dalam  penempaan dan memperbar

 penempaan dan memperbarui aplikasi"ui aplikasi"

 3ni Tesing mempunyai peran pening dalan framework #aravel, dimana uni esing3ni Tesing mempunyai peran pening dalan framework #aravel, dimana uni esing

ini mempunyai banyak es unuk medeeksi dan mencegah regresi" 3ni esing ini ini mempunyai banyak es unuk medeeksi dan mencegah regresi" 3ni esing ini dapa di$alankan melalui uilias

dapa di$alankan melalui uilias““arisan command%linearisan command%line””

 +uomaic paginaion menyederhanakan ugas dari penerapan halaman, mengganikan+uomaic paginaion menyederhanakan ugas dari penerapan halaman, mengganikan

 penerapan yang

 penerapan yang manual dengan meode oomais manual dengan meode oomais yang erinregrasi kyang erinregrasi ke #aravel"e #aravel"

++++++-- ++NN(())AALLAA((++

+da iga cara dalam melakukan insalasi #aravel, +da iga cara dalam melakukan insalasi #aravel,

 Mengunduhnya menggunakan ool insaller"Mengunduhnya menggunakan ool insaller" 

 Mengunduh melalui Composer"Mengunduh melalui Composer" 

 Mengunduh langsung melalui reposiori #aravel"Mengunduh langsung melalui reposiori #aravel"

5

5alaalaupun upun carcara a keikeiga ga menmengundgunduh uh langlangsung sung berkberkasnyasnya a melmelalui alui reporeposisiori, ori, namunamun n eeapap di

dibubuuuhkhkan an CoCompmpososer er ununuuk k memempmpererbabarurui i kekeeerrgagannunungagan n lilibrbrarari" i" 6a6adi di kikia a akakanan menggunakan composer unuk insalasi"

(5)

Perama sebelum menginsall laravel dilocalhos 7ampp, enunya harus sudah menginsall 7ampp, dan silakan sar +pache dan My18# nya" Pasikan 7ampp yang sudah erinsall adalah versi erbaru agar memenuhi sisem re-uiremens, sebagai beriku&

 PHP 9: ;"<"=  .pen11# PHP 7ension  P>. PHP 7ension  Mbsring PHP 7ension  Tokeni?er PHP 7ension  @M# PHP 7ension

2alau sudah selan$unya download dan Composer , silakan di download dan insall "e7e nya" Composer ini merupakan dependency manager php, anda bisa menginsall banyak package%  package php salah saunya laravel ini"

6ika sudah erinsall composer maka keikan1o23oser pada cmd kemudian ekan ener,

maka akan muncul ulisan C.MP.1/, ini arinya composer sudah erinsall"

(6)

1elan$unya anda bisa menginsall laravel anda dengan mudah melalui cmd ini, api perama yang harus anda perhaikan pasikan posisi cmd ada di direcori C&A7amppAhdocs" anda bisa menggunakan command cd unuk pindah folder aau melalui file e7porer lalu klik kanan B

ekan shif, pilih yang open command window here"

(7)

6ika sudah erbuka cmdnya, keikan perinah “composer create-project --prefer-dist laravel/laravel blog” unuk melakukan insallasi laravel" 3nuk  ulisan blog diaas adalah nama folder anda menginsall laravel anda, silakan gani sesuai kebuuhan" Tunggu sebenar hingga proses selesai, karena ini mendownload filenya $adi memakan waku cukup lama (erganung koneksi inerne!" 6ika sudah selesai, anda bisa mengakses laravel anda dengan alama ocalhosnamafolder3u4li1 inga ada ambahan  publicnya"

(8)

DASAR ROUTE 5  CONTROLLER 5  VIEW

- 1ar dulu +pache nya

- #alu masuk ke folder laravel nya, klik kanan pilih use composer here

- 2eikkan Dphp arisan serveD" 2enapa menggunakan perinah php arisan serveE

Padahal bisa langsung localhos(nama folder!public" “Memang bisa, api dengan menggunakan php arisan serve url nya $adi clean dan gak usah ngeik public lagi"”

- uka url nya di browser & hp&localhos&FGGG, 2ia balik lagi ke folder #aravel nya"

6ika menggunakan sublime e7, aom, nebeans, dll" 2ia open folder nya $angan open file biar hasil nya seperi ini &

(9)

+pa fungsi dari roueE 0ungsi nya unuk menangani re-ues kia di 3rl kemudian mengarahkan aplikasi unuk memanggil halamanresouce erenu"

>alam rouing kia akan mengenal yaiu 4T dan P.1T, pada #aravel biasa 4T digunakan unuk menampilkan resource bisa berupa 0ungsi aau Conroller" 1edangkan P.1T pada #aravel biasanya digunakan unuk mengarahkan form keika di submi"

Pada roue"php, erdapa roue dengan fungsi seperi dibawah ini & Route::get('/', function () {

return view('welcome'); );

1crip ersebu men$elaskan &

Tanda slash (  !, arinya kia berada pada halaman uama aau inde7" >an yang ada didalam reurn View memanggil langsung ke blade yang bernama DwelcomeD anpa memproses nya ke Conroller erlebih dahulu"

>imana file 5elcome iuE isa kia liha pada folder resources, lalu views, dan erdapa welcome"blade"php, lade pada #aravel adalah 1isem Templaing bawaan #aravel"

(10)

 ela$ar rouing pada #aravel &

- uka roues"php dan ambahkan scrip beriku ini &

2ia masih menggunakan fungsi dulu ya, nani baru pake Conroller" Route::get('/contact', function ()

{ return view('contact'); );

#alu bua file dulu di dalam folder views dengan nama seperi yang ada di roue adi yaiu conac, api $angan lupa menambahkan eksensi blade"php nya" 6adi nya seperi ini &

>an didalam file conac"blade"php erserah sa$a soba isi apa conoh nya &

(11)

erhasil ampil, kia idak perlu lagi menuliskan hp&localhos&FGGGconac"php , api langsung sa$a hp&localhos&FGGGconac karena iu sudah diurusin sama sisem rouing nya si #aravel"

 1ekarang kia coba rouing dengan menggunakan Conroller &

- ua dulu ela$arConroller nya, kembali ke folder laravel, use composer here,

keikkan scrip dibawah ini pada cmd &

p!p artisan ma"e:controller #elajar$ontroller %resource >an hasilnya &

- uka pada +ppHpConrollersela$arConroller"php, api balik dulu ke roues"php,

dan ikui scrip seperi dibawah ini &

Route::get('/contact', '#elajar$ontroller&inde'); 2eerangan &

Pada parameer perama yaiu DconacD iu adalah url nya, dan parameer kedua yaiu ela$arConroller adalah Conroller nya dan inde7 adalah meode nya"

#alu kia buka ela$arConroller dan pada meode inde7, dan kia reurn view nya conac yang sudah kia bua adi inggal menuliskan nya seperi dibawah ini &

public function inde() {

return view('contact'); 

>an silahkan buka url nya hasilnya sama" isa sa$a kia membua dengan meode lain misal nya pada roues"php kia gani yang ela$arConrollerinde7 men$adi ela$arConrollerconac"

#alu pada ela$arConroller"php kia bua meode nya dengan nama conac, sama seperi inde7 adi hanya menggani nama inde7 men$adi conac"

agaimana $ika conac view adi kia bikin kan folder nya khusus misal dalam folder Views kia bikin folder yaiu ela$ar"

(12)

#alu pada ela$arConroller meode inde7 di reurn view nya kia ubah $adi & public function inde()

{

return view('belajarcontact'); 

(13)

ERROR - ARTISAN - OPER DATA

3nuk bela$ar #aravel ini kia $uga perlu dulu bela$ar mengenai ..P pada PHP" Tidak  perlu erlalu dalam cukup dasar nya sa$a agar mempermudah dalam bela$ar #aravel"

rror pada #aravel& 6adi misalkan View Conac yang sudah dibua, sekarang di Hapus &

- 0older bela$ar besera dengan conac"blade"php nya kia hapus" - #alu coba kia panggil 3rl nya pada browser soba" >an hasil nya &

Hanya erdapa ulisan Whoops, looks like something went wrong.  2urang deail kanE

agaimana $ika kia ingin membua lebih deail rror nya seperi apaE

- Masuk ke folder configapp"php, lalu ada ulisan DdebugD seperi dibawah ini &

- 3bah sa$a 0+#1 men$adi T/3, seperi ini&

(14)

rror nya lebih deail, dan disiu men$elaskan bahwa View conac yang ada di 0older   bela$ar idak diemukan" 2arena file conac"blade"php dengan folder nya sudah kia hapus"

Tapi $ika 5ebsie yang dibua ingin di hosing, dan akan diakses oleh user" 1ebaiknya debug error nya di 0+#1 kan sa$a" iar error deail nya idak erliha oleh user aau lebih disarankan dibua Page =G= o0ound nya"

1ekarang kia balik ke roues"php, kia ingin membua roue abou, $adi scrip nya seperi ini &

Route::get('/about', 'bout$ontroller&inde');

/oue conac dan bela$arConroller"php nya dihapus sa$a, karena kia bikin conroller   baru dengan nama +bouConroller" 2ia bua Conrollernya menggunakan arisan lagi"

ARTISAN adalah command line aau perinah%perinah yang di$alankan via

erminalcommand promp yang menyediakan beberapa perinah yang bisa kia gunakan saa develop aplikasi #aravel" >engan cara mengeikkan D php arisan D pada CM> dan pasikan membuka cmd nya pada folder laravel kia" Conoh seperi ini &

(15)

>isiu banyak bange lis yang bisa kia gunakan dengan arisan, scroll sendiri pada cmd nya dan erdapa make&conroller yang sudah kia lakukan di uorial sebelumnya, ada $uga  perinah roue lis $adi kia bisa meliha roue apa sa$a yang ada di roues"php, dengan cara

mengeikkan di cmd &

p!p artisan route:list

2embali lagi ke u$uan kia yaiu ingin membua +bouConroller, keikkan dibawah ini & p!p artisan ma"e:controller bout$ontroller

Mencoba menampilkan hasil roue&lis kia adi $adi hasil nya seperi ini &

Hanya ada ) roue lis , karena pada roues"php nya $uga ada ) sa$a"

1eelah selesai membua +bouConroller, pada meode inde7 kia ingin memanggil view abou yang ada di folder views &

public function inde() { return view('about');

(16)

- ua dulu abou"blade"php nya pada folder resourcesviews, kasih nama abou"blade"php,

srukur folder nya gini &

- Isi sembarang dulu, isi dalam file abou"blade"php, $ika sudah coba kia panggil dulu

roue nya di url unuk memasikan apakah sudah benar aau belum"

Ternyaa sudah benar" 1ekarang isikan scrip ini pada meode inde7 di +bouConroller & public function inde() {

*coba + 'gilacoding';

return view('about')-wit!('tampil' , *coba); 

2eerangan pada With &

 Parameer ' nama variable yang akan kia panggil pada view blade nya"  Parameer ) adalah nama variable yang akan kia oper daanya"

1ekarang pada abou"blade"php unuk mendapakan daa dari Conroller adi bisa dengan cara seperi ini &

ebsite sa.a : 0+ *tampil; 0

Tapi, karena dengan #aravel sudah ada blade emplaing unuk menampilkan daa men$adi lebih simple cukup dengan seperi ini &

ebsite sa.a : {{ *tampil  >engan kedua cara diaas, hasilnya sama kok &

(17)

public function inde() {

*data1'judul'2 + 'gilacoding'; *data1'tanggal'2 + '34-56-7537';

return view('about')-wit!('tampil' , *data); 

>i abou"blade"php nya seperi ini & 89$<=> !tml !tml !ead titleper data/title /!ead bod.

ebsite sa.a : {{ *data1'judul'2  br/ anggal !osting : {{ *data1'tanggal'2  /bod.

/!tml Hasilnya &

1elan$unya dengan meode lain yaiu membua array di dalam WithE conoh nya & public function inde() {

*judul + 'gilacoding'; *tanggal + '34-56-7537';

return view('about')-wit!('data' , compact('judul',

'tanggal')); 

2e & yang ada di dalam compac adalah variable yang akan kia oper daa nya" Pada abou"blade"php nya eep sama seperi sebelum nya &

89$<=> !tml !tml !ead titleper data/title /!ead bod.

ebsite sa.a : {{ *data1'judul'2  br/ anggal !osting : {{ *data1'tanggal'2  /bod.

/!tml Hasilnya sama

(18)

BLADE TEMPLATES

Mengenai +rray yang ada di dalam wih, kia mengoper daa di compac ke ' variable dengan nama DdaaD, eapi ernyaa kia bisa menggunakan compac anpa menuliskan wih lagi, karena daa kia hanya sediki" 6adi conoh scrip nya pada +bouConroller  meode inde7 seperi ini &

public function inde() { *judul + 'gilacoding'; *tanggal + '34-56-7537';

return view('about', compact('judul', 'tanggal')); 

#alu diabou"blade"php nya kia hilangkan anda arraynya men$adi nama variablenya sa$a &

5ebsie saya & JJ K$udul LL br9 Tanggal hosing & JJ anggal LL

2ia ampilkan, hasilnya memang sama sa$a &

1elan$unya saya ingin men$elaskan mengenai scape, Misalnya kia memasukkan daa yang ada ag hml aau $avascrip nya akan oomais ke render kalau idak kia escape" Conoh misal pada daa di +bouConroller  adi isi di daa $udul dan anggal nya kia beri ag ialic dan  $uga bold &

public function inde() {

*judul + 'igilacoding/i'; *tanggal + 'b34-56-7537/b';

return view('about', compact('judul', 'tanggal')); 

#alu pada abou"blade"php &

ebsite sa.a : {{ *judul  br/

anggal !osting : {{ *tanggal  br/ br/

++++++++ anpa >scape ++++++++ br/ br/

(19)

anggal !osting : {88 *tanggal 88 br/ Hasilnya &

Terliha $elas kan" yang anpa escape ag bold dan ialic nya ngerender ag hml nya, JNN NNL ini saya pakai $uga karena backend nya saya nulis pakai inymce, $adi ag Paragraph, bold, ialic, link, dsb" .omais ke render saa diampilkan"

2ia lan$u ke 1isem Templaing, misalnya kia punya beberapa halaman yang sama dan  bagian header  dan fooer  nya eep iu%iu a$a  idak berubah api conen nya yang berubah%ubah" ua blade baru, pada views kia bua $uga folder dengan nama Templaes, dan bua view nya dengan namainde7"blade"php, 6adi srukur nya seperi ini &

Isi dalam inde7"blade"php nya gini & 89$<=> !tml

!tml !ead

title?ati!an #lade emplates/title /!ead

bod.

&include('templates!eader') &.ield('content')

(20)

&include('templatesfooter') /bod.

/!tml

2arena disiu saya include kan header dan fooer nya di file lain $uga $adi kia bua lagi file header"blade"php dan fooer"blade"php dalam ' folder emplaes, isi nya erserah sa$a"

header"blade"php &

!3@A@ B>9>R/!3 fooer"blade"php &

!3@A@ C>R/!3

1ekarang pada abou"blade"php nya harus kia e7ends & &etends('templatesinde')

&section('content')

ebsite sa.a : {88 *judul 88 br/

anggal !osting : {88 *tanggal 88 br/ &stop

2e &

 pada e7ends kia memanggil inde7"blade"php yang merupakan pondasi halaman hml kia

yang berada di folder emplaesinde7"blade"php,

 #alu nama yang ada di secion disesuaikan dengan yield pada inde7"blade"php,  sop unuk mengakhiri secion"

Tambahkan sau conoh lagi, kia bua halaman conac" ua file conac"blade"php di folder views se$a$ar dengan abou"blade"php, isi nya seperi ini &

&etends('templatesinde') &section('content') Donta" sa.a : ul liEF7G5G63766/li liEF7GFHH7737/li liEF7G75II4II/li /ul &stop

roues"php kia ambahkan url conac &

Route::get('/contact', 'bout$ontroller&contact'); >an pada +bouConroller  ambahkan meode conac &

public function contact() { return view('contact'); 

(21)

Hasilnya &

Header dan fooer nya eep sama api conen nya berubah"

1ekarang misal pada conac nomor elpon nya kia $adi kan array di +bouConroller   pada meode conac akan kia oper nomor nya ke conac"blade"php, scrip nya begini &

public function contact() {

*contacts + 1'EF7G5G63766', 'EF7GFHH7737', 'EF7G75II4II'2; return view('contact')-wit!('contacts', *contacts);

#alu di conac"blade"php nya seperi ini & &section('content')

Donta" sa.a :

&if(count(*contacts)) ul

&foreac!(*contacts as *contact) li{{ *contact /li &endforeac!

/ul &else

p$ontact tida" ditemu"an/p &endif

&stop 2e &

 6ika ingin menggunakan if else pada #aravel cukup dengan if , elseif, else, dan

unuk mengakhiri nya endif ,

 0ungsi dari coun didalam if  adalah unuk cek daa +rray nya apakah ada, $ika ada maka

ampil, $ika idak ada  else maka menampilkan e7 di dalam else,

 foreach(Kconacs as conac! fungsi nya unuk melakukan perulangan, unuk 

(22)

Conoh $ika +rray pada abou"blade"php di meode conac nya kia hapus & public function contact() {

*contacts + 12;

return view('contact')-wit!('contacts', *contacts); 

Maka saa kia panggil url conac yang akan ampil seperi beriku &

(23)

KONFIGURASI DATABASE, MIGRATION & SCHEMA BUILDER

Migratio adalah sebuah fasilias dilaravel digunakan unuk mempermudah kia keika ada perubahan dalam daabase" S!"#$a B%i'#r   digunakan unuk membua sebuah skema daabase" >engan menggunakan migraions dan schema builder kia idak perlu repo 5   repo membuka phpmyadmin , aaupun aplikasi 1-l lainnya unuk membua daabase" >engan migraions dan schema builder $uga akan lebih mudah keika kia membua pro$ec besar dan dengan developer yang berbeda%beda $adinya si developer ini idak perlu impore7por daabase api langsung sa$a menggunakan migraion"

1ebelum kia prakekan langsung Migraion, enunya kia harus menghubungan +plikasi #aravel kia dengan Mys-l, cara konfigurasi daabase nya mudah kok, silahkan buka dulu configdaabase"php,

>efaul daabase nya My18#, 6ika soba menggunakan 18#ie aau Posgre18# inggal gani pada defaulnya dan $uga di file "env, dimana file "envE +da difolder uama saa kia buka folder #aravel kia, se$a$ar dengan folder app, boosrap, config, dkk &

#alu unuk gani defaul mys-lnya gani disini &

>an $uga di "env nya gani >OC.CTI.:mys-l ke daabase yang soba gunakan misal 18#ie, api saya disini menggunakan My18# $adi saya biarkan sa$a"

(24)

>an unuk seing localhos, username, dan  password  nya $uga bisa kok langsung di mys-l dalam file daabase"phpseperi ini &

Tapi, cara ini idak disarankan, karena saa kia develop +plikasi #aravel dengan  beberapa eman pro$ec aau eamwork, saa emen kia buka Pro$ec kia, bakal keauan dong username, password kiaE 6adi, sebaiknya di daabase"php nya dibiarkan defaul sa$a, lalu gani di "env seperi ini $adinya &

2arena saa kia upload Pro$ec kia di gihub aau dimana sa$a, "env akan dibiarkan aau idak akan erupload, 0ile "giignore lah yang membua "env idak akan erupload, isi scrip nya seperi ini &

6adi di "giignore iu erdapa di nama folder vendor, folder nodeOmodules "env, dkk folder iu semua idak akan erupload, sesuai dengan isi "giignore nya,

(25)

alik ke "env, saya sudah seing >O>+T++1:laraes $adi soba bua dulu daabase nya di phpmyadmin, silahkan beri nama apa sa$a dan sesuaikan dengan di "env, masukkan

username nya, lalu password soba, $ika idak memakai password biarkan sa$a >OP+115./>: kosong seperi iu"

1elesai konfigurasi daabase nya, sekarang langsung kia prakekkan seperi apa fiur  Migraion pada #aravel iu, 1aa kia insall #aravel, erdapa langsung dua migraion able, bisa kia liha pada folder daabasemigraions, erdapa migraion creaeOusersOable , dan saunya creaeOpasswordOresesOable api kia idak memakai iu , unuk conoh silahkan kia buka dulu file migraion yang creaeOusersOable"php, dan disiu hanya erdapa dua meode yaiu up dan down,fungsimeode up(! unuk membua able membua kolom, sedangkan down(! unuk menghapus able aau kolom"

Pada meode up, erdapa 1chema seperi yang sudah kia $elaskan sebelumnya, selain unuk membua dan menghapus able dengan schema kia bisa bua spesifikasi kolom able nya misal incremen, sring, imesamps, dll

1ekarang kia bikin ulang migraion baru, dua migraion bawaan #aravel kia hapus sa$a dulu, lalu kia ke command line unuk membua migraion creaeOblogsOable, api pada class nya nani akan oomais men$adi CreaelogsTable, keikkan pada cmd scrip dibawah ini &

p!p artisan ma"e:migration createJblogsJtable --create+blogs 6ika hasilnya seperi ini &

2e &

 creaeOblogsOable adalah nama migraionnya,  %%creae:blogs adalah nama unuk able nya"

erari kia sudah berhasil membua migraionnya sekarang kia lia migraion kia pada daabasemigraion,

(26)

2ia lia isinya, dan nama class nya seperi kia bilang adi dia oomais men$adi CreaelogsTable" 1ekarang pada meode up kia mau isi kolom%kolom apa sa$a yang ada di able blogs, saya bua isinya gini &

#alu kia pushkia $alankan migraion unuk membua able nya pada daabase kia, unuk men$alankan nya keikkan lagi pada cmd (pasikan men$alankan cmd nya pada folder  #aravel! &

 php arisan migrae Hasilnya &

erari kia sudah berhasil, lalu bisa di cek pada phpmyadmin nya di daabase laraes (sesuaikan dengan daabase soba!"

Terdapa ) able, able blogs dan migraions" Table migraions iu oomais bua nyimpen daa nya $adi maksudnya able migraions oomais nyimpen  nyaa class migraion apa sa$a yang sudah kia $alankan, sedang kan able blogs iu adalah hasil yang kia bua adi" 2ia buka srukur able blogs adi &

(27)

Hasilnya sesuai dengan yang kia bua pada class migraion di #aravel" Tapi mungkin masih ada yang belum au kenapa ada kolom creaedOa dan updaedOaE Iu hasil yang kia bua di migraion kia adi yang Kable%9imesamps(! $ika idak erpakai bisa soba hapus sa$a"

2ia sudah men$alankan migraion meode up, lalu kia ingin au fungsi meode downE 1eperi yang ada di isi down iu 1chema&&drop berari akan ngehapus able erakhir yang kia  $alankan adi" Conoh nya soba bisa men$alankan command line ini pada cmd &

p!p artisan migrate:rollbac" Hasilnya &

uka lagi pada daabase nya, dan able blogs sudah idak ada" Tapi misalnya ingin mengembalikan lagiE Qa inggal $alankan php arisan migrae adi"

(28)

ELO(UENT

>engan lo-uen kia bisa dengan mudah Men$alankan 8uery 5  -uery >aabase misal nya Inser, 3pdae, >elee dan /ead >aa"

karena kia sudah membua migraion nya pada uorial sebelumnya $adi langsung sa$a kia inggal membua model nya dulu, yaiu unuk membua model blog" keikkan pada Cmd seperi ini &

p!p artisan ma"e:model #log

#alu kia liha pada folder #aravel kia masuk ke folder +pp &

>isiu erdapa model kia log dan model bawaan #aravel 3ser, karena model user idak  erpakai mendingan dihapus sa$a" #alu kia liha pada log"php, masih kosong seperi ini &

3nuk membua model, silahkan isi sesuai dengan yang ada di able blogs & 0p!p

namespace pp;

(29)

class #log etends Model {

protected *table + 'blogs';

protected *fillable + 1'judul', 'des"ripsi'2; 

2e &

 proeced Kable : DblogsD adalah nama able nya"

 proeced Kfillable : RD$udulD, DdeskripsiD, DcreaedOaD, DupdaedOaDS isi kolom nya, karena

I> sudah oomais $adi idak perlu dibua"

 #alu creaedOa dan updaedOa nya $uga idak perlu bua karena sudah oomais $uga, api

 $ika soba idak menggunakan creaed dan updaedOa nya bisa diambahkan scrip ini  public Kimesamps : false pada Model adi"

 Ta$)a" Data

#alu kia ingin menambahkan daa dengan lo-uen ke Table logs melalui roue, scripnya seperi ini &

Route::get('/tamba!', function() {

*blog + new #log;

*blog-judul + NOudul =ertamaN;

*blog-des"ripsi + N9es"ripsi n.a disini, conto! menamba! data pada routeN;

*blog-save(); );

2e &

 Kblog : new log Kblog adalah variable nya, new log nama model nya"

 Kblog%9$udul pasikan kolom yang diu$u sesuaisama dengan yang ada di abel nya"  Kblog%9save(! proses daa nya unuk disimpan"

6angan lupa menambahkan use +ppAlog pada roues"php , leakkan sa$a dibawah Ephp" 6alankan url roue ambah nya pada browser" 6ika sudah, coba soba cek pada able blogs di  phpmyadmin nya &

Hasilnya blank puih sa$a karena idak kia masukkan apa%apa api daa sudah masuk" creaedOa dan updaedOanya pun sudah erisi oomais, pada lo-uen kia idak perlu lagi Inser Ino blabla" Cukup mudah kanE &>

(30)

 U*'at# Data

1ekarang kia lakukan updae daa yang sudah kia masukkan adi, $adi kia ambahkan lagi  pada roue nya seperi ini &

Route::get('/update', function() {

*blog + #log::find(3);

*blog-judul + NOudul 9ieditN;

*blog-des"ripsi + N9es"ripsi juga suda! di >ditN; *blog-save();

); 2e &

 Kblog : log&&find('! +rinya Men$alankan  Mengubah daa blog yang id nya

'" Panggil url nya, dan cek ke daabase, daa berhasil dirubah &

 M#a$*i+a Data

1eelah Coba di simpan dan diedi, sekarang coba kia ampilkan daa nya menggunakan

lo-uen & Route::get('/tampil', function() { *blogs + #log::all(); ec!o NulN; foreac!(*blogs as *blog) { ec!o NliN;

ec!o NbOudul n.a/b : N; ec!o *blog-judul;

ec!o N b9es"ripsi n.a/b : N; ec!o *blog-des"ripsi; ec!o N/liN;  ec!o N/ulN; ); Pasekan di roues"php ya, Hasilnya &

(31)

2e &

 Kblogs : log&&all(! fungsi nya menampilkan semua daa di able blogs"  Ha*% Data

Conoh erakhir kia menghapus daa, pasekan pada roues"php & Route::get('/!apus', function()

{

*blog + #log::find(3); *blog-delete();

);

1eperi biasa, panggil url nya dan $ika sudah liha ke daabase apabila daa sudah idak ada berari udah berhasil kehapus"

(32)

MODEL, VIEW DAN CONTROLLER

- 6alankan dulu command line php arisan serve nya pada CM>, dan perlu diinga

membuka CM> nya harus pada 0older #aravel yg sedang di$alankan"

 Masuk ke folder #aravel yang sedang di ker$akan, klik kanan, pilih 3se Composer

Here" Cara ) &

 Tahan 1HI0T dan klik kanan dimana sa$a halaman kosong, pilih .pen Command 5indow

Here"

Cara ' dan ) 1ama sa$a hasilnya, hanya sa$a cara ' 6ika kia saa insall Composer dengan mencenang 1hell Menus, dan cara ) bagi yang idak cenang 1hell Menus nya"

- uka pada rowser hp&localhos&FGGG, #alu kia bua url blog di roues"php &

Route::get('/blog', '#log$ontroller&inde');

- 1udah membua url nya, kia bua lagi logConroller  nya pake arisan ya biar cepa"

Inga command line nya gimanaE 1eperi ini scrip nya &

p!p artisan ma"e:controller #log$ontroller --resource

- Isi scrip dibawah ini pada logConroller  meode inde7 sesuai yang akan kia panggil

 pada roues"php adi & public function inde() {

return view('blog'); 

2ia bua lagi View unuk blog nya api kia masih menggunakan emplae yang sebelumnya $adi kia hanya membua unuk konen nya sa$a"

- Pada resourcesviews beri nama blog"blade"php, silahkan isi seperi ini &

&etends('templatesinde') &section('content')

@ni !alaman #log &stop

(33)

Ternyaa sudah $alan, karena sebelumnya kia sudah membua model nya $adi kia  prakekkan unuk menampilkan daa nya langsung" 2embali ke logConroller   meode inde7,

silahkan ikui scrip nya &

public function inde() {

*blogs + #log::all();

return view('blog', compact('blogs')); 

6angan lupa lagi menambahkan use +ppAlog diaas class nya conoh nya &

2embali lagi ke blog"blade"php, kia ampilkan daa nya & &etends('templatesinde') &section('content') &if(count(*blogs)) ul &foreac!(*blogs as *blog) liOudul : {{ *blog-judul /li &endforeac! /ul

&else

p=ost tida" ada/p &endif

&stop Hasilnya &

(34)

>aa saya hanya sau" 1ekarang coba soba ambahkan beberapa dulu manual di able logs nya"

1ekarang saya mempunyai * daa" 2ia mau menampilkan daa erenu berdasarkan I> nya sa$a, caranya coba soba ke roues"php dulu dan ambahkan &

Route::get('/blog/{id', '#log$ontroller&tampil"an@9');

#alu ke logConroller , bua meode baru dengan nama sesuai

di roues"php yaiu ampilkanI>" Isinya seperi ini & public function tampil"an@9(*id) {

*tampil"an + #log::find(*id);

return view('tampil"an', compact('tampil"an')); 

2e &

 Pada meode ampilkanI> diberi parameer Kid unuk ngedapein I> nya dari roue"  log&&find(Kid! seperi yang sudah di$elaskan sebelumnya, able blog mencari dan

menampilkan sesuai dengan I> yang dicari"

#alu kia bua lagi view baru, diberi nama ampilkan"blade"php pada folder resourcesviews" Ikui scrip nya seperi dibawah ini &

&etends('templatesinde') &section('content')

!4?i!at 9ata/!4

@9 n.a : {{*tampil"an-id, br/

Oudul n.a : {{*tampil"an-judul, br/ 9ibuat : {{*tampil"an-createdJat, br/ 9iedit : {{*tampil"an-updatedJat

&stop

6adi unuk menampilkan daa berdasarkan I> nya kia inggal uliskan manual di url nya hp&localhos&FGGGblog' , maka hasilnya &

(35)

2ia coba lagi unuk memanggil dengan nomor I> * &

Qang ampil sesuai dengan I> yang kia panggil" #alu kia menampilkan daa berdasarkan I> api idak menuliskan nya dengan manual di url, kia mau panggil sebagai link, buka lagi  blog"blade"php, ambahkan link di lis li nya &

&etends('templatesinde') &section('content') &if(count(*blogs)) !4?ist data/!4 ul &foreac!(*blogs as *blog)

lia !ref+N{{ url('blog',*blog-id) NOudul

: {{ *blog-judul /a/li

&endforeac! /ul

&else

p=ost tida" ada/p &endif

&stop 2e &

(36)

 3nuk memanggil #ink di lade kia inggal menuliskan JJ url(DurlyangdiinginkanD! LL,  a href:JJ url(DblogD,Kblog%9id! LL9 a9 maksudnya kia menu$u ke url log

dengan id yang diambil dari lis hasil dari perulangan di able blogs" Hasilnya $ika kia panggil url blog, lis li nya men$adi link &

Coba kia klik lis daa ke dua dengan $udul urung kakak ua, hasilnya &

(37)

MEMBUAT CRUD LARAVEL HANA DENGAN . MENIT

- Cara perama silahkan insall dulu laravel nya &

composer create-project --prefer-dist laravel/laravel lati!an-crud

- seing koneksi, rouing #aravel seperi di uorial sebelum nya"

- #an$u, silahkan beri nama apa sa$a, lalu kia masuk ke folder laravel, seing dulu

koneksi ke daabase nya, bua daabase nama nya Dlaihan%crudD

- 6ika sudah mengaur koneksi ke daabase nya di "env dan sudah membua daabase di

 phpmyadmin, kembali ke dalam folder #aravel yang sudah dibua adi dan klik kanan di area kosong, use composer here dan $alankan command line &

composer reLuire appPcoder/crud-generator Hasilnya &

- uka file app"php di configapp"php #alu pasekan dibawah ini dibagian providers ya

scroll kebawah, $angan sampe salah pase &

ppPcoderK$rudQeneratorK$rudQeneratorervice=rovider::class,

- Pase lagi command line dibawah ini dan ener pada cmd nya &

composer reLuire laravelcollective/!tml Hasilnya seperi ini &

(38)

- 2ia main pase lagi deh di app"php pada providers &

$ollectiveKBtmlKBtmlervice=rovider::class,

- >an ini di bagian aliases masih di app"php ya &

'Corm' + $ollectiveKBtmlKCormCacade::class, 'BM?' + $ollectiveKBtmlKBtmlCacade::class,

- >an keikkan composer updae di cmd" 1elesai composer updae, kia Publish config file

U generaor emplae files nya dengan cara menuliskan scrip ini di cmd lagi & p!p artisan vendor:publis!

Hasil &

- Pase lagi command line dibawah ini ke cmd &

p!p artisan crud:generate =osts --fields+NtitleSstring, bod.StetN

- #alu kia publish able nya, dengan cara men$alankan lagi command line dibawah ini &

p!p artisan migrate

- Terakhir $alankan php arisan serve, dan di $alankan url hp&localhos&FGGGposs "

(39)

- 1ekarang kia coba ambah dengan mengklik +dd ew Pos &

Hasil seelah diambah &

Gambar

gambar )&#34; uka cmd pada direkori 7ampp&#34;

Referensi

Dokumen terkait