Alasan menggunakan laravel Bagi teman-teman yang sudah tidak asing lagi dengan ! pasti sudah tahu dengan yang namanya PHP Framework" #ah, kali ini saya akan membahas mengenai $ara%el, salah satu framework yang lumayan baru. &ungkin di antara teman-teman ada yang berpikir, kenapa sih harus ada framework baru' kenapa gak pake yang sudah ada a(a semisal )ode*gniter atau +ii', kenapa harus Re-invent The Wheel? Berikut beberapa alasannya menurut ,aylor -t.ell /Core Developer Laravel0 1 1" Expressif. $ara%el adalah sebuah 2rame.ork ! yang expressif, artinya ketika melihat suatu sntax $ara%el, seorang pro!rammer "diharapkan# akan langsung tahu kegunaan dari sntax tersebut meskipun belum pernah mempela(arinya apalagi menggunakannya" 2" Simple. Salah satu yang membuat $ara%el begitu simple adalah adanya $lo%&ent 'R(. &isalkan, kita ingin mengambil semua data yang ada pada tabel &sers. &aka yang kita perlukan, hanya membuat sebuah 3lass model bernama 4ser 1 Kemudian kita tinggal memasukan semua data dari tabel &sers tersebut dengan 3ara sebagai berikut 1 $all_user = User::all(); 5engan begitu, semua data dari tabel &sers, akan dengan mudah diakses dengan melakukan loopin! terhadap %ariabel )all*&ser. Saya akan bahas dengan lebih (elas lain kali" 6" Accesible. Bagi teman-teman yang sudah terbiasa dengan ! 7rame.ork, saya yakin sudah tidak asing lagi dengan yang namanya )ode*gniter" +a )ode*gniter merupakan salah satu ! 7rame.ork yang paling populer, meskipun sebenarnya ada suatu framework yang bisa dibilang lebih superior (ika dibandingkan dengan )ode*gniter" &isalnya, sa(a Kohana" Kohana bisa dibilang memiliki 2itur yang lebih bagus (ika dibanding )ode*gniter" #amun demikian, )ode*gniter memiliki dokumentasi yang sangat lengkap sehingga framework ini men(adi lebih mudah digunakan" #ah, begitu pula dengan $ara%el, $ara%el-pun dibuat dengan dokumentasi yang selengkap mungkin" Core Developer dari lara%el sendiri ber-komitmen, untuk selalu menyertakan dokumentasi yang lengkap setiap kali melakukan rilis %ersi terbaru-nya" Cara install laravel Bagi yang belum tahu 3ara meng-install $ara%el pada server lokal, berikut saya akan (elaskan langkah- langkahnya1 1" ertama-tama, silahkan instal +omposer pada komputer teman-teman" )omposer bisa anda do.nload di http188get3omposer"org" 2" Selan(utnya, teman-teman bisa langsung ,ownloa, $ara%el melalui repositor-nya di sini" Object 1 Object 2 Object 3 Object 4 Object 5 Object 6 Object 7 Object 8 Object 9 Object 10 5o.nload lara%el 6" Setelah itu, extra+t file lara%el-master"9ip yang telah di-,ownloa, dan letakan pada root direktori" Bagi yang menggunakan :ampp dan .indo.s 8, maka root direktori yang dimaksud adalah C://xampp/htdocs. $ara%el pada 2older :ampp 4" 4bah nama direktori tersebut sesuai selera anda /optional0" 5alam 3ontoh kali ini saya akan ubah laravelmaster men(adi lrv supaya lebih pendek" ;" Setelah itu, silahkan akses http://localhost/lrv/public. asti error kan'' 15" Jangan panik, mari ikuti langkah selan(utnya" <" Buka +omman,-prompt. Kemudian masuk ke dalam 2older C://xampp/htdocs/lrv dengan 3ara mengetikan sntax berikut1 cd c://xampp/htdocs/lrv =" $alu ketik composer install, kemudian tekan enter dan tunggu beberapa saat, 3omposer akan men-,ownloa, ,epen,en+ yang dibutuhkan" 8" Setelah proses selesai silahkan refresh kembali -rowser anda" &aka akan akan mun3ul i3on $ara%el, sebagai tanda bah.a $ara%el telah berhasil di-install. ,ampilan pertama lara%el Cara membuat virtualhost dengan menggunakan xampp. Sebelumnya, apabila kita ingin membuka halaman utama dari instalasi $ara%el yang telah kita buat, maka kita harus mengetikan url seperti berikut pada we- -rowser 1 http://localhost/lrv/public " #ah, kali ini kita akan mengubahnya men(adi lebih pendek men(adi sebagai berikut1 http://lrv.dev . Berikut langkah-langkahnya1 ertama-tama buka direktori C./Win,ows/0stem12/Drivers/et+. ada direktori tersebut terdapat sebuah file bernama >hosts?" Buka file tersebut dan tambahkan te:t sebagai berikut di bagian paling ba.ah1 127...1 lrv.dev Selan(utnya, buka direktori C./xampp/apa+he/+onf/extra. Kemudian buka file "http,- vhosts.+onf# yang ada pada direktori tersebut dan tambahkan te:t sebagai berikut pada bagian paling ba.ah1 !"irtual#ost $:%& 'ocument(oot )*:/xampp/htdocs/lrv/pu+lic) ,erver-ame lrv.dev ,erver.lias ///.lrv.dev !/"irtual#ost& Restart @pa3he melalui Aampp )ontrol anel, kemudian buka http://lrv.dev melalui -rowser teman-teman" Birtual !ost telah berhasil dibuat" !embuat "#ello $orld% di Laravel by SleepingKomodo January 28, 2014 !al pertama yang biasa dipela(ari ketika seseorang mempela(ari sebuah bahasa pemrograman maupun sebuah framework adalah dengan membuat aplikasi Chello .orldD" @da beberapa 3ara menampilkan Chello .orldD di lara%el, yaitu melalui route, 3ontroller maupun %ie." Sebelumnya, pastikan teman- teman sudah melakukan instalasi $ara%el seperti yang sudah di(elaskan pada posting sebelumnya" !elalui &oute. 4ntuk menampilkan te:t C!ello EorldD melalui route pertama-tama buka 2ile ro&te.php. Kemudian, tambahkan ro&te baru sebagai berikut1 (oute::0et(1hello12 3unction() 4 return )#ello 5orld); 6); Kemudian, melalui bro.ser ketikan 4F$1 http://lrv.dev/hello dan tekan enter" &aka, tulisan C!ello EorldD akan tampil di bro.ser teman-teman" !elalui Controller. 4ntuk menampilkan tulisan C!ello EorldD melalui +ontroller, pertama-tama buat sebuah route baru pada file ro&te.php seperti berikut1 (oute::0et(1hello_controller12 #ello*ontroller7index); kemudian, buat file baru pada direktori +ontroller, misalnya dengan nama C!ello)ontrollerD" Kemudian buat +lass +ontroller didalam file tersebut seperti berikut ini1 !8php class #ello*ontroller extends 9ase*ontroller 4 pu+lic 3unction index() 4 return )#ello 5orld 3rom *ontroller); 6 6 8& Kemudian, melalui we- -rowser buka 4F$ yang mengarah ke route tersebut, yaitu http://lrv.dev/hello_controller " &aka tulisan C!ello Eorld 2rom )ontrollerD akan tampil di bro.ser" !elalui 'ie( 4ntuk menampilkan tulisan C!ello Eorld 2rom Bie.D melalui %ie. ada dua 3ara" +aitu, melalui %ie. yang dipanggil melalui route dan %ie. yang dipanggil melalui 3ontroller" ada tulisan kali ini saya hanya akan membahas %ie. yang dipanggil melalui route" ertama-tama, tambahkan sebuah 2ile baru pada 2older view, misalnya nama file-nya adalah hello3iew.php. Kemudian buka file tersebut dengan notepad dan tambahkan tulisan C!ello Eorld 2rom Bie.D" Kemudian simpan" Setelah itu tambahkan ro&te baru sebagai berikut1 (oute::0et(1hello_vie/12 3unction() 4 return "ie/::ma:e(1hello"ie/1); 6); Setelah itu ketika 4F$ yang mengarah ke ro&te tersebut melalui -rowser. +aitu sebagai berikut 1 http://lrv.dev/hello_vie/ " 5engan begitu, tulisan C!ello Eorld 2rom Bie.D akan tampil pada -rowser teman-teman" Cara menggunakan )migration* pada Laravel by SleepingKomodo January 28, 2014 ada tulisan kali ini, saya akan men(elaskan tentang mi!ration an, see,in! pada $ara%el" @pa itu mi!ration? @pa itu see,in!? mi!ration atau migrasi adalah suatu 3ara membuat, memodi2ikasi dan menghapus suatu tabel dan relasi antar tabel melalui kode program" 4ps, ada yang bingung dengan kata-kata saya' (angan kha.atir, anda akan paham setelah mengikuti langkah-langkah berikut1 ertama-tama buat sebuah ,ata-ase baru dengan nama yang anda inginkan" ada 3ontoh kali ini, saya akan membuat ,ata-ase bernama lrv disesuaikan dengan nama aplikasi yang telah dibuat pada artikel sebelumnya" Selan(utnya, atur koneksi database" engaturan dapat dilakukan pada file app/con3i0/data+ase.php" ada file tersebut, anda bisa menentukan nama ,ata-ase, &sername dan passwor,. Kemudian buka +omman,-line dan (alankan perintah php artisan mi0rate:ma:e create_users_ta+le" 5engan begitu, sebuah file baru akan ter-!enerate pada direktori /app/data+ase/mi0rations" Beginilah kira-kira isi dari file tersebut1 !8php use ;lluminate<'ata+ase<=i0rations<=i0ration; class *reateUsers>a+le extends =i0ration 4 /$$ $ (un the mi0rations. $ $ 7return void $/ pu+lic 3unction up() 4 // 6 /$$ $ (everse the mi0rations. $ $ 7return void $/ pu+lic 3unction do/n() 4 // 6 6 8& ada metho, up, tambahkan de2inisi tabel sebagai berikut1 ,chema::create(1users12 3unction($ta+le) 4 $ta+le?&increments(1id1); $ta+le?&strin0(1email1)?&uni@ue(); $ta+le?&strin0(1name1); $ta+le?×tamps(); 6); Kemudian, pada metho, do.n, tambahkan 2ungsi untuk melakukan reverse apabila ter(adi roll-a+k pada database" pu+lic 3unction do/n() 4 ,chema::drop(1users1); 6 Setelah itu, dengan menggunakan +omman, prompt, masuklah ke dalam direktori pro(e3t anda" $alu (alankan perintah php artisan mi0rate dan tunggu beberapa saat hingga proses selesai" &aka, pada ,ata-ase yang telah anda buat akan mun3ul sebuah tabel baru bernama users beserta kolom-kolom yang sudah anda de2inisikan sebelumnya" @pabila anda ingin melakukan roll-a+k, anda bisa men(alankan perintah php artisan mi0rate:roll+ac:"
Sekarang anda telah berhasil menggunakan mi!ration untuk membuat sebuah tabel" Cara melakukan seeding pada Laravel by SleepingKomodo January 28, 2014 ada artikel sebelumnya, kita telah membahas tentang 3ara menggunakan migration pada $ara%el" Kali ini saya akan men(elaskan 3ara melakukan see,in!. @pa itu see,in!? seeding adalah suatu 3ara memasukan data pada ,ata-ase melalui kode program, kelebihan dari see,in! (ika dibandingkan dengan memasukan data se3ara manual adalah lebih flexi-el. 4ntuk memasukan data pada ,ata-ase lain, anda tinggal +op see,-nya sa(a, kemudian dieksekusi" Kali ini, kita akan melakukan see,in! terhadap ,ata-ase yang telah kita buat sebelumnya" $angkah- langkah-nya yaitu sebagai berikut1 ertama-tama, pastikan di dalam direktori app/models terdapat sebuah model bernama 4ser" Kemudian, buka 2ile app/data+ase/seed/'ata+ase,eeder.php" 4bah isi dari 2ile tersebut men(adi seperti di ba.ah ini1 !8php class 'ata+ase,eeder extends ,eeder 4 pu+lic 3unction run() 4 Alo@uent::un0uard(); $this?&call(1User>a+le,eeder1); 6 6 class User>a+le,eeder extends ,eeder 4 pu+lic 3unction run()4 User::create(arraB( 1email1 =& 1in3o7%ers.com12 1name1 =& 1>a/ min0 seu12 )); 6 6 8& Kemudian, melalui +omman,-line, (alankan perintah php artisan d+:seed" &aka, sebuah re+or, baru akan masuk pada tabel yang anda buat sebelumnya melalui migrasi" Selain menggunakan perintah tersebut, anda (uga bisa menggunakan perintah php artisan mi0rate ??seed atau php artisan mi0rate:re3resh ?seed untuk melakukan see,in! se3ara bersamaan dengan migrasi" !embuat C&+, Sederhana pada Laravel : part - by SleepingKomodo January 28, 2014 ada tulisan sebelumnya saya telah membahas beberapa hal sebagai berikut1 $ara%el 1 @ 7rame.ork 2or .eb @rtisans &embuat !ello Eorld di $ara%el" )ara menggunakan >migration? pada $ara%el )ara melakukan seeding pada $ara%el Setelah anda memba3a tentang apa itu $ara%el, 3ara membuat C!ello EorldD, mi!ration dan see,in!, Kali ini, kita akan membahas mengenai 3ara membuat aplikasi )F45 sederhana dengan menggunakan $ara%el" @rtikel kali ini dibuat sesederhana yang saya bisa, sehingga mudah dipela(ari oleh pemula sekalipun" .(itter Bootstrap 4ntuk membuat &ser interfa+e, kita akan menggunakan bantuan Twitter 4 ootstrap . 4ntuk itu, silahkan unduh terlebih dahulu disini" Kemudian extra+t hasil unduhan anda" Setelah di-extra+t akan menemukan tiga 2older didalamnya yaitu 2older +ss, fonts dan 5s. Cop ketiga 2older tersebut ke dalam direktori Gpubli3G-nya $ara%el" Bootstrap di dalam direktori publik lara%el Setelah Twitter 4ootstrap anda pindahkan ke direktori p&-li+, berarti sudah siap untuk digunakan pada aplikasi $ara%el yang akan kita buat" -leh karena itu, marilah kita lupakan se(enak mengenai Twitter 4ootstrap ini dan memulai langkah selan(utnya" ,atabase .abel Sekarang, marilah kita membuat sebuah tabel baru untuk menampung data yang akan kita gunakan dalam tutorial kali ini" &isalnya, tabel tersebut akan menampung data-data buku yang akan di(ual" 5engan menggunakan +omman,-line, (alankan perintah php artisan mi0rate:ma:e create_+oo:s_ta+le" &aka, se3ara otomatis akan ter3ipta sebuah file baru pada direktori app/data+ase/mi0rations" Buat de2inisi tabel sebagai berikut pada file migrasi tersebut1 !8php use ;lluminate<'ata+ase<=i0rations<=i0ration; class *reate9oo:s>a+le extends =i0ration 4 pu+lic 3unction up() 4 ,chema::create(1+oo:s12 3unction($ta+le)4 $ta+le?&increments(1id1); $ta+le?&strin0(1title1)?&uni@ue(); $ta+le?&strin0(1author1); $ta+le?&strin0(1description1); $ta+le?&strin0(1price1); $ta+le?×tamps(); 6); 6 pu+lic 3unction do/n() 4 ,chema::drop(1+oo:s1); 6 6 8& $alu (alankan perintah php artisan mi0rate melalui +omman,-line. &aka se3ara otomatis akan ter3ipta sebuah tabel baru bernama GbooksG, anda bisa melihatnya melalui phpma,min. C&+, )F45 merupakan singkatan dari )reate, Fead, 4pdate dan 5elete" 4ntuk itu mari kita bahas satu persatu mulai dari )reate /memasukan data ke dalam database0" Create 4ntuk memasukan data ke dalam database kita akan menggunakan sebuah form. ertama-tama, buat sebuah file baru pada direktori app/vie/s/ dengan nama laBout.+lade.php. Kemudian, pada file tersebut, buat lao&t !,&$ sebagai berikut1 !C'D*>EFA html& !html lan0=1en1& !head& !meta charset=1ut3?%1 /& !title&*(U' .pp!/title& !meta name=1vie/port1 content=1/idth=device?/idth2 initial?scale=12 maximum? scale=11 /& 44 #>=G::stBle(1css/+ootstrap.min.css1) 66 !/head&; !+odB& 7Bield(1content1) 44 #>=G::script(1Hs/H@uerB.min.Hs1) 66 44 #>=G::script(1Hs/+ootstrap.Hs1) 66 !/+odB& !/html& erhatikan bah.a $ara%el menggunakan 4la,e sebagai templatin! en!ine. @pabila anda masih belum mengerti tentang 4la,e, tidak masalah" 4la,e adalah sesuatu yang mudah, anda akan mengerti setelah menyelesaikan tutorial ini" Selan(utnya, masih pada 2older app/vie/s, buat sebuah file baru bernama ne/+oo:.+lade.php1 7extends(1laBout1) 7section(1content1) #ello2 ,emua 3orm a:an ditempat:an disiniC 7stop File inilah yang nantinya akan digunakan untuk menampilkan form yang akan kita buat pada -rowser. ada file tersebut anda tidak perlu menulis lagi ta! 6html6, 6title6 , 6-o,6 karena sudah di-exten,s dari file laBout.+lade.php dengan menggunakan 7extends(1laBout1)" Semua yang akan ditampilkan di -rowser bisa anda simpan diantara 7section(1content1) dan 7stop" Selan(utnya, tambahkan de2inisi form pada file tersebut1 7extends(1laBout1) 7section(1content1) !div class=1container1& !hI&;nsert ne/ +oo:!/hI& 44 Jorm::open()66 44Jorm::la+el(1title12 1>itle1) 66 44Jorm::text(1title12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1author12 1.uthor1) 66 44Jorm::text(1author12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1description12 1'escription1) 66 44Jorm::textarea(1description12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1price12 1Frice1) 66 44Jorm::text(1price12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::su+mit(1,u+mit12 arraB(1class1 =& 1+tn +tn?primarB1)) 66 44 Jorm::close() 66 !/div& 7stop $alu, buat sebuah ro&te pada file app/routes.php 1 (oute::0et(1ne/+oo:12 3unction() 4 return "ie/::ma:e(1ne/+oo:1); 6); @kses ro&te tersebut melalui -rowser, maka akan tampil form seperti berikut ini1 *nsert 2orm !emasukan data ke database Selan(utnya, mari kita buat (o,el dan Controller untuk memasukan data diinputkan ke dalam database" Buat sebuah file dengan nama 9oo:.php pada direktori app/models1 !8php class 9oo: extends Alo@uent 4 6 8& !arus diperhatikan bah.a nama +lass perlu disesuaikan dengan nama tabel yang digunakan, karena pada 3ontoh kali ini kita menggunakan tabel bernama +oo:s, maka nama +lass yang dibuat haruslah 9oo:" Seperti halnya pada (o,el User, karena nama tabelnya users" Sebenarnya, anda (uga bisa menentukan nama (o,el sesuka hati" #amun, 3aranya tidak akan dibahas pada tulisan ini" &ungkin lain kali akan saya bahas" -k, setelah (o,el anda buat, selan(utnya mari kita buat +ontroller" ada direktori app/controllers buatlah sebuah file baru dengan nama 9oo:*ontroller.php 1 !8php class 9oo:*ontroller extends 9ase*ontroller 4 6 8& Setelah itu, buat 2ungsi untuk memasukan data buku baru ke dalam ,ata-ase1 !8php class 9oo:*ontroller extends 9ase*ontroller 4 pu+lic 3unction store()4 $+oo: = ne/ 9oo:; $+oo:?&title = ;nput::0et(1title1);; $+oo:?&author = ;nput::0et(1author1);; $+oo:?&description = ;nput::0et(1description1);; $+oo:?&price = ;nput::0et(1price1);; $+oo:?&save(); 6 6 8& Bagian .erakhir -k, setelah (o,el dan Controller dibuat, langkah selan(utnya yang harus dilakukan adalah membuat ro&te baru yang mengarah kepada 2ungsi yang kita buat di dalam Controller. Buka ro&tes.php, tambahkan ro&te sebagai berikut1 (oute::post(1+oo:/insert12 19oo:*ontroller7store1); Kemudian pada 2ile app/vie/s/ne/+oo:.+lade.php ubah 44 Jorm::open() 66 men(adi 44 Jorm::open(arraB(1action1 =& 19oo:*ontroller7store1)) 66" 5imana CBook)ontrollerHstoreD disesuaikan dengan nama Controller dan 7+tion yang kita tu(u" Selesai" @nda sekarang bisa men3obanya dengan memasukan data pada form kemudian tekan tombol submit" $alu, 3ek di ,ata-ase apakah data yang diinputkan sudah masuk" /onklusi 5iatas kita telah membahas mengenai membuat )reate menggunakan $ara%el" +aitu dengan 3ara membuat &odel, Kemudian membuat Bie. yang bisa mengirim data melalui form, data pada form tersebut kemudian dikirim ke +ontroller untuk disimpan ke dalam ,ata-ase dengan menggunakan Class (o,el yang telah dibuat" Selan(utnya, pada art 2 kita akan membahas mengenai 3ara menampilkan data /Fead0" $etDs Io !embuat C&+, Sederhana pada Laravel : 0art 1 by SleepingKomodo January 2J, 2014 Sebelumnya kita telah membahas 3ara memasukan data ke dalam database dengan menggunakan $ara%el /)reate0" Kali ini kita akan membahas tentang 3ara menampilkan data dari database" @da tiga tahapan yang akan dilakukan yaitu1 &embuat route" &engirim data ke %ie." &embuat looping" ertama-tama marilah kita membuat sebuah ro&te baru sebagai berikut1 (oute::0et(1+oo:list12 3unction()4 6); Setelah itu, kita akan mengambil semua data dari tabel +oo:s yang telah kita buat sebelumnya" *ngat, untuk mengakses tabel +oo:s kita akan menggunakan &odel bernama 9oo:" 4ntuk melakukannya tambahkan 9oo:::all() pada ro&te yang telah kita buat1 (oute::0et(1+oo:list12 3unction()4 $+oo:s = 9oo:::all(); 6); Setelah itu, kita akan memanggil sebuah view sekaligus mengirim %ariable $+oo:s ke view tersebut" (oute::0et(1+oo:list12 3unction()4 $+oo:s = 9oo:::all(); return "ie/::ma:e(1list+oo:1)?&/ith(1+oo:sdata12 $+oo:s); 6); Jika, anda mengakses ro&te tersebut, bisa dipastikan sebuah pesan error akan mun3ul" *tu karena %ie. bernama list+oo: masih belum kita buat" -leh karena itu, mari kita buat view tersebut" Buat sebuah file baru bernama list+oo:.+lade.php Sebagai berikut1 7extends(1laBout1) 7section(1content1) !C?? data a:an ditampil:an disini ??& 7stop ada route, kita telah mengirimkan sebuah %ariable bernama +oo:sdata yang bisa diakses melalui view" Bariable tersebut bersisi semua data dari tabel +oo:s yang bisa kita tampilkan dengan bantuan loopin! 1 7extends(1laBout1) 7section(1content1) !section class=)container)& !ta+le class=)ta+le)& !tr& !th&>itle!/th& !th&.uthor!/th& !th&'escription!/th& !th&Frice!/th& !/tr& 73oreach($+oo:sdata as $+oo:) !tr& !td&44 $+oo:?&title 66!/td& !td&44 $+oo:?&author 66!/td& !td&44 $+oo:?&description 66!/td& !td&44 $+oo:?&price 66!/td& !/tr& 7end3oreach !/ta+le& !/section& 7stop Jika anda perhatikan pada 3ode diatas, kita menggunakan 44 $+oo:?&title 66 untuk (udul buku, 44 $+oo:?&author 66 untuk pengarang dsb" Synta: yang digunakan yaitu blade, dimana 44 $+oo:?&title 66 bisa disamakan dengan !8php echo $+oo:?&title; 8& " Sekarang, anda bisa buka route CbooklistD melalui bro.ser, maka semua data yang berada pada table CbooksD akan ditampilkan dalam bentuk table" )ara akses route tersebut misal1 http://lrv.dev/+oo:list @tau (ika anda menggunakan domain Clo3alhostD 1 http://localhost/+oo:list Kita telah membahas mengenai )reate dan Fead" ada bagian selan(utnya, kita akan membahas mengenai 4pdate" Bersambung !embuat C&+, sederhana pada Laravel : 0art 2 by SleepingKomodo 7ebruary 10, 2014 ada ,ulisan sebelumnya kita telah membahas tentang )reate dan Fead" Sekarang, mari kita melangkah ke tahap selan(utnya, yaitu 4pdate" ertama-tama, kita akan menampilkan link edit pada tabel yang telah kita buat sebelumnya ketika menampilkan data" 4bah file list+oo:.+lade.php men(adi sebagai berikut1 7extends(1laBout1) 7section(1content1) !section class=)container)& !ta+le class=)ta+le)& !tr& !th&>itle!/th& !th&.uthor!/th& !th&'escription!/th& !th&Frice!/th& <th>#</th> !/tr& 73oreach($+oo:sdata as $+oo:) !tr& !td&44 $+oo:?&title 66!/td& !td&44 $+oo:?&author 66!/td& !td&44 $+oo:?&description 66!/td& !td&44 $+oo:?&price 66!/td& <td>{{ link_to_action('BookController@edit', 'edit', array($book- >id))}}</td> !/tr& 7end3oreach !/ta+le& !/section& 7stop ada kode diatas, kita menambahkan lin:_to_action yang merupakan helper untuk membuat !,&$ link" 5imana, link tersebut akan mengarah ke method e,it pada 3ontroller bernama 4ookController" Jika anda (alankan di bro.ser /dengan membuka route -ooklist0, maka akan mun3ul error sebagai berikut1 ArrorAxception (oute K9oo:*ontroller7editL not de3ined. ("ie/: /var/////laravel/app/vie/s/list+oo:.+lade.php) Krror tersebut mun3ul karena kita belum membuat route yang mengarah ke method tersebut, disamping method itu sendiri belum kita buat" 4ntuk itu, tambahkan route sebagai berikut pada file routes.php 1 (oute::0et(1+oo:/edit/4id612 19oo:*ontroller7edit1); Kemudian, tambahkan a+tion ?edit? pada Book)ontroller1 pu+lic 3unction edit($id) 4 M code... 6 Jika, anda klik pada salah satu link yang ditampilkan pada tabel, maka akan mun3ul halaman kosong pada -rowser. 4ntuk mengubah halaman kosong tersebut men(adi halaman edit, ubah 2ungsi e,it yang barusan kita tambahkan men(adi sebagai berikut1 pu+lic 3unction edit($id) 4 $+oo: = 9oo:::3ind($id); return "ie/::ma:e(1edit+oo:1)?&/ith(1+oo:12 $+oo:); 6 Jika, anda (alankan lagi maka kali ini bukan halaman kosong yang anda dapatkan, tetapi anda akan melihat error sebagai berikut1 ;nvalid.r0umentAxception "ie/ Kedit+oo:L not 3ound. *ni dikarenakan kita belum membuat %ie. bernama e,it-ook. 4ntuk itu, pada 2older app/vie/s buatlah file baru dengan nama edit+oo:.+lade.php 1 7extends(1laBout1) 7section(1content1) !div class=1container1& !hI&Adit +oo:!/hI& 44 Jorm::open() 66 44Jorm::hidden(1id12 $+oo:?&id)66 44Jorm::la+el(1title12 1>itle1) 66 44Jorm::text(1title12 $+oo:?&title 2 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1author12 1.uthor1) 66 44Jorm::text(1author12 $+oo:?&author 2 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1description12 1'escription1) 66 44Jorm::textarea(1description12 $+oo:?&description 2 arraB(1class1 =& 13orm? control1))66 44Jorm::la+el(1price12 1Frice1) 66 44Jorm::text(1price12 $+oo:?&price 2 arraB(1class1 =& 13orm?control1))66 44Jorm::su+mit(1Update12 arraB(1class1 =& 1+tn +tn?primarB1)) 66 44 Jorm::close() 66 !/div& 7stop Feload halaman yang menampilkan error tersebut dan anda akan melihat 2orm edit beserta nilai dari masing-masing fiel,. +pdate 4ntuk melakukan update, tambahkan 2ungsi CupdateD pada 4ookController1 pu+lic 3unction update() 4 $id = ;nput::0et(1id1); $+oo: = 9oo:::3ind($id); $+oo:?&title = ;nput::0et(1title1); $+oo:?&author = ;nput::0et(1author1); $+oo:?&description = ;nput::0et(1description1); $+oo:?&price = ;nput::0et(1price1); $+oo:?&save(); 6 5an, (angan lupa untuk menambahkan route baru sebagai berikut1 (oute::post(1+oo:/update12 19oo:*ontroller7update1); Setelah itu, pada 2ile edit+oo:.+lade.php, ubahlah 44 Jorm::open()) 66 men(adi 44 Jorm::open(arraB(1action1 =& 19oo:*ontroller7update1)) 66 Sekarang, 3obalah anda ubah (udul dari buku tersebut, lalu klik tombol update" &aka, data (udul buku tersebut akan berubah pula di database" !embuat C&+, Sederhana pada Laravel : 0art 3 by SleepingKomodo 7ebruary 11, 2014 ada kesempatan kali ini kita akan membuat 2ungsi ,elete "7ungsi ,elete digunakan untuk menghapus data yang telah kita masukan ke dalam ,ata-ase. ertama-tama, tambahkan link 8,elete9 di sebelah link edit dengan 3ara mengubah file listbook.blade.php sebagai berikut1 7extends(1laBout1) 7section(1content1) !section class=)container)& !ta+le class=)ta+le)& !tr& !th&>itle!/th& !th&.uthor!/th& !th&'escription!/th& !th&Frice!/th& !th&M!/th& !/tr& 73oreach($+oo:sdata as $+oo:) !tr& !td&44 $+oo:?&title 66!/td& !td&44 $+oo:?&author 66!/td& !td&44 $+oo:?&description 66!/td& !td&44 $+oo:?&price 66!/td& !td&44 lin:_to_action(19oo:*ontroller7edit12 1edit12 arraB($+oo:?&id))66 N 44 lin:_to_action(19oo:*ontroller7delete12 1delete12 arraB($+oo:?&id))66!/td& !/tr& 7end3oreach !/ta+le& !/section& 7stop erhatikan, pada kode diatas kita menambahkan 44 lin:_to_action(19oo:*ontroller7delete12 1delete12 arraB($+oo:? &id))66 yang digunakan untuk menampilkan link CdeleteD" @pabila anda (alankan di -rowser dengan 3ara mengakses ro&te CbooklistD, maka akan mun3ul error sebagai berikut1 ArrorAxception (oute K9oo:*ontroller7deleteL not de3ined. ("ie/: /var/////laravel/app/vie/s/list+oo:.+lade.php) !al, ini disebabkan kita belum menambahkan ro&te dan a+tion yang diperlukan" -leh karena itu, tambahkan ro&te baru sebagai berikut1 (oute::0et(1+oo:/delete/4id612 19oo:*ontroller7delete1); Jika, anda (alankan lagi pada -rowser maka tampilan akan ber(alan normal dan sudah terdapat link ,elete didalam tabel" #amun, apabila link tersebut anda klik, tetap akan ter(adi error, karena method 9,elete9 masih belum dibuat, untuk itu pada 4ookController, tambahkan 2ungsi ,elete sebagai berikut1 pu+lic 3unction delete($id) 4 M code... 6 Execute ,elete Sekarang, (ika anda klik CdeleteD maka tidak akan mun3ul lagi pesan error" #amun, data tersebut masih belum terhapus dari dalam ,ata-ase karena kita belum menambahkan apa-apa pada method ,elete. 4ntuk itu, ubah 2ungsi ,elete men(adi sebagai berikut1 pu+lic 3unction delete($id) 4 $+oo: = 9oo:::3ind($id); $+oo:?&delete(); return (edirect::to(1+oo:list1); 6 Sekarang, (ika anda klik link ,elete maka data buku yang bersangkutan akan dihapus" erhatikan bah.a kode return (edirect::to(1+oo:list1); digunakan untuk mengembalikan /redire3t0 anda ke halaman dengan route CbooklistD" Selesai" 4ntuk mengunduh so&r+e +o,e dari tutorial ini, silahkan klik disini" !embuat autentikasi pengguna dengan menggunakan Laravel by SleepingKomodo 7ebruary 22, 2014 @utentikasi merupakan hal yang sangat penting dalam sebuah .ebsite" 5engan menggunakan autentikasi kita bisa men3egah orang yang tidak berkepentingan untuk mengakses situs yang kita buat" Saya rasa anda sudah paham tentang apa itu autentikasi, (adi saya pikir 3ukup sudah untuk pen(elasannya" &ari kita lan(utkan ke 3ara membuat autentikasi menggunakan $ara%el" Sebelumnya, saya asumsikan anda telah melakukan instalasi $ara%el pada lo3alhost dan melakukan setting database" ertama-tama yang harus kita buat adalah tabel user" 4ntuk membuat tabel user, buat migrasi dengan men(alankan perintah sebagai berikut1 php artisan mi0rate:ma:e create_user_ta+le Buka 2older app/mi0ration, anda akan melihat sebuah 2ile berisi 3lass yang bernama C)reate4ser,ableD" ada 3lass tersebut terdapat dua method bernama CupD dan Cdo.nD" ðod CupD digunakan untuk membuat tabel, sedangkan method Cdo.nD digunakan untuk menghapus tabel" ,ambahkan de2inisi tabel sebagai berikut pada method CupD1
,chema::create(1users12 3unction($ta+le) 4 $ta+le?&increments(1id1); $ta+le?&strin0(13irstname12 2); $ta+le?&strin0(1lastname12 2); $ta+le?&strin0(1email12 1)?&uni@ue(); $ta+le?&strin0(1pass/ord12 OP); $ta+le?×tamps(); 6); Kemudian pada method Cdo.nD tambahkan perintah sebagai berikut1 ,chema::drop(1users1); Selan(utnya, pada +omman, line (alankan perintah1 php artisan mi0rate 5engan begitu, sebuah tabel bernama CusersD akan dibuat pada database, lengkap beserta seluruh 2ield- 2ield yang dibutuhkan" 4ntuk membuat sistem autentikasi, diperlukan sebuah model, 3ontroller dan %ie." &odel yang digunakan adalah model bernama C4serD yang biasanya sudah ada se3ara de2ault pada instalasi $ara%el" Kemudian untuk 3ontroller kita akan membuat sebuah 3ontroller baru bernama C4ser)ontrollerD, untuk membuat C4ser)ontrollerD, (alankan perintah sebagai berikut menggunakan +omman, line1 php artisan controller:ma:e User*ontroller &aka, sebuah 2ile baru bernama C4ser)ontroller"phpD akan ter3ipta pada 2older app/controller" !embuat #alaman &egistrasi Setelah 3ontroller kita buat, sekarang kita akan menampilkan sebuah halaman registrasi" ertama-tama, kita akan mengubah 2ungsi C3reateD pada C4ser)ontrollerD men(adi 2ungsi CregisterD1 pu+lic 3unction re0ister() 4 return "ie/::ma:e(1re0ister1); 6 ada 2ungsi register diatas, kita akan diarahkan pada sebuah %ie. bernama CregisterD" #amun, %ie. tersebut masih belum kita buat" 4ntuk itu pada 2older app/vie/s tambahkan sebuah 2ile baru bernama Cregister"blade"phpD1 7extends(1laBout1) 7section(1content1) !div class=)container)& !h2&(e0ister!/h2& 7i3(,ession::has(1pesan1)) !div class=)alert alert?success)&44 ,ession::0et(1pesan1) 66!/div& 7endi3 44Jorm::open(arraB(1action1 =& 1User*ontroller7store1)) 66 44Jorm::la+el(13irstname12 1Jirst -ame1) 66 44Jorm::text(13irstname12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1lastname12 1Gast -ame1) 66 44Jorm::text(1lastname12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1email12 1Amail1) 66 44Jorm::text(1email12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1pass/ord12 1Fass/ord1) 66 44Jorm::pass/ord(1pass/ord12 arraB(1class1 =& 13orm?control1))66 !+r& 44Jorm::su+mit(1(e0isterin 'on0C12 arraB(1class1 =& 1+tn +tn?primarB1)) 66 44 Jorm::close() 66 !/div& 7stop Setelah itu, buatlah ro&te baru pada 2ile routes.php seperti berikut ini1 (oute::0et(1re0ister12 1User*ontroller7re0ister1); (oute::post(1store12 1User*ontroller7store1); Setelah route dibuat, sekarang anda bisa membuka halaman register yang barusan anda buat melalui bro.ser dengan 3ara mengakses route CregisterD"&isal1 http:/localhost/laravel/re0ister &egistrasikan 0engguna Setelah halaman registrasi kita buat, kita akan memasukan data dari form yang barusan kita buat ke dalam database" ada 2orm tersebut terdapat kode sebagai berikut1 44Jorm::open(arraB(1action1 =& 1User*ontroller7store1)) 66 *tu berarti, ketika disubmit, data dari 2orm tersebut akan di-han,le -leh method CstoreD pada C4ser)ontrollerD" 4ntuk itu silahkan buka C4ser)ontrollerD kemudian tambahkan perintah sebagai berikut ke dalam method CstoreD1 $user = ne/ User(); $user?&3irstname = ;nput::0et(13irstname1); $user?&lastname = ;nput::0et(1lastname1); $user?&email = ;nput::0et(1email1); $user?&pass/ord = #ash::ma:e(;nput::0et(1pass/ord1)); $user?&save(); return (edirect::to(1re0ister1)?&/ith(1pesan12 1(e0istrasi +erhasilC1); Sekarang, apabila anda isi 2orm tersebut kemudian tekan tombol CFegisterin 5ongLD /seperti submit0, maka data yang anda masukan akan tersimpan di database" !embuat 4itur Login 4ntuk membuat halaman $ogin, pertama-tama buatlah dua buah 2ungsi baru yaitu CloginD dan Cauthenti3ateD1 pu+lic 3unction lo0in()4 6 pu+lic 3unction authenticate()4 6 Selain itu, buatlah dua buah route baru pada 2ile routes.php sebagai berikut1 (oute::0et(1lo0in12 1User*ontroller7lo0in1); (oute::post(1authenticate12 1User*ontroller7authenticate1); #alaman Login Sekarang, kita akan membuat tampilan halaman login" ada method CloginD tambahkan baris perintah sebagai berikut1 return "ie/::ma:e(1lo0in1); Kemudian pada direktori app/vie/s tambahkan sebuah %ie. baru dengan nama 2ile lo0in.+lade.php1 7extends(1laBout1) 7section(1content1) !div class=)container)& !div class=)col?md?Q col?md?o33set?I)& !h2&Go0in!/h2& !hr /& 7i3(,ession::has(1pesan_error1)) !div class=)alert alert?dan0er)&44 ,ession::0et(1pesan_error1) 66!/div& 7endi3 44Jorm::open(arraB(1action1 =& 1User*ontroller7authenticate1)) 66 44Jorm::la+el(1email12 1Amail1) 66 44Jorm::text(1email12 112 arraB(1class1 =& 13orm?control1))66 44Jorm::la+el(1pass/ord12 1Fass/ord1) 66 44Jorm::pass/ord(1pass/ord12 arraB(1class1 =& 13orm?control1))66 44Jorm::su+mit(1Go0in12 arraB(1class1 =& 1+tn +tn?primarB1)) 66 44Jorm::close() 66 !/div& !/div& 7stop Autentikasi Ketika tombol login di-klik, form akan diarahkan ke method Cauthenti3ateD pada 4ser)ontroller" ada method inilah autentikasi dilakukan, untuk itu tambahkan baris perintah sebagai berikut pada method authenti3ate1 i3 (.uth::attempt(arraB(1email1 =& ;nput::0et(1email1)2 1pass/ord1 =& ;nput::0et(1pass/ord1)))) 4 echo )lo0in +erhasil); 6 else4 return (edirect::to(1lo0in1)?&/ith(1pesan_error12 1Go0in 0a0al2 email atau pass/ord salahC1); 6 Sekarang, (ika anda tekan tombol CloginD dan autentikasi berhasil maka akan tampil tulisan >login berhasil?" #amun, (ika autentikasi gagal, maka sebuah pesan kesalahan akan ditampilkan pada halaman login" !embuat #alaman ,ashboard Sebelumnya, apabila kita sudah berhasil login kita hanya akan melihat tulisan Clogin berhasilD" #ah, kali ini kita akan membuat supaya pengguna diarahkan ke halaman dashboard apabila login berhasil" Buat sebuah 3ontroller baru bernama C5ashboard)ontrollerD1 !8php class 'ash+oard*ontroller extends 9ase*ontroller 4 pu+lic 3unction index()4 return "ie/::ma:e(1dash+oard1); 6 6 8& Setelah itu, buatlah sebuah route baru pada ro&tes.php sebagai berikut1 (oute::0et(1dash+oard12 1'ash+oard*ontroller7index1); Kemudian, (angan lupa untuk membuat sebuah %ie. baru bernama Cdashboard"blade"phpD" Setelah itu, ubah autentikasi yang ada pada method authenti3ate men(adi sebagai berikut1 3unction authenticate()4 i3 (.uth::attempt(arraB(1email1 =& ;nput::0et(1email1)2 1pass/ord1 =& ;nput::0et(1pass/ord1)))) 4 return (edirect::to(1dash+oard1); 6 return (edirect::to(1lo0in1)?&/ith(1pesan_error12 1Go0in 0a0al2 email atau pass/ord salahC1); 6 Sampai disini, apabila anda men3oba login kembali maka akan diarahkan ke halaman dashboard" ,entu halaman dashboard yang dimaksud adalah halaman kosong, mengingat kita baru membuat %ie.nya sa(a, tanpa ada isinya" !embuat fungsi logout Sekarang, saatnya kita membuat 2ungsi logout" 4ntuk itu, kita akan membuat %ie. CdashboardD yang telah kita buat dari halaman kosong men(adi sebagai berikut1 7extends(1laBout1) 7section(1content1) !nav class=)nav+ar nav+ar?inverse nav+ar?static?top) role=)navi0ation)& !div class=)container?3luid)& !C?? 9rand and to00le 0et 0rouped 3or +etter mo+ile displaB ??& !div class=)nav+ar?header)& !+utton tBpe=)+utton) class=)nav+ar?to00le) data?to00le=)collapse) data? tar0et=)M+s?example?nav+ar?collapse?1)& !span class=)sr?onlB)&>o00le navi0ation!/span& !span class=)icon?+ar)&!/span& !span class=)icon?+ar)&!/span& !span class=)icon?+ar)&!/span& !/+utton& !a class=)nav+ar?+rand) hre3=)M)&.uth.pp!/a& !/div& !C?? *ollect the nav lin:s2 3orms2 and other content 3or to00lin0 ??& !div class=)collapse nav+ar?collapse) id=)+s?example?nav+ar?collapse?1)& !ul class=)nav nav+ar?nav nav+ar?ri0ht)& !li&!a hre3=)lo0out)&!i class=)0lBphicon 0lBphicon?o33)&!/i& lo0out!/a&!/li& !/ul& !/div&!C?? /.nav+ar?collapse ??& !/div&!C?? /.container?3luid ??& !/nav& !div class=)container)& !h1&'ash+oard!/h1& !/div& 7stop Selan(utnya, perhatikan pada halaman dashboard diatas terdapat kode sebagai berikut1 !li&!a hre3=)lo0out)&!i class=)0lBphicon 0lBphicon?o33)&!/i& ada atribut hre2, kita bisa melihat bah.a kita akan diarahkan pada route ClogoutD apabila link tersebut kita klik" #amun, route ClogoutD masih belum kita buat, oleh itu tambahkan route ClogoutD sebagai berikut pada 2ile routes.php1 (oute::0et(1lo0out12 1User*ontroller7lo0out1); Kemudian, tambahkan sebuah method pada C4ser)ontrollerD sebagai berikut1 pu+lic 3unction lo0out()4 .uth::lo0out(); return (edirect::to(1lo0in1)?&/ith(1pesan12 1+erhasil lo0out1); 6 Selan(utnya, untuk menampilkan pesan berhasil logout, tambahkan perintah sebagai berikut pada bagian atas 2orm login1 7i3(,ession::has(1pesan1)) 44 ,ession::0et(1pesan1) 66 7endi3 /esimpulan Se(auh ini anda telah berhasil membuat halaman registrasi, login dan logout" ,entunya, masih ada beberapa kelemahan dalam aplikasi yang barusan kita buat" &isalnya, akan ter(adi error apabila kita memasukan email yang sama saat registrasi" Kemudian, (ika kita belum login dan mengakses http://localhost/dash+oard seharusnya pengguna diarahkan ke halaman login" 5an masih ada beberapa hal lagi yang harus diperbaiki namun tidak akan saya bahas dalam tulisan ini berharap anda bisa men3obanya sendiri" !a%e a ni3e dayL !enggunakan pagination pada Laravel by SleepingKomodo @pril 1<, 2014 Sepertinya hampir setiap aplikasi berbasis .eb yang memiliki 2ungsi untuk mengatur data memerlukan pa!ination ketika menampilkan data yang 3ukup banyak" agination adalah solusi yang 3ukup baik untuk mengatasi kelebihan in2ormasi" Saya pikir hampir semua orang tahu 3ara menggunakan pagination" #amun, untuk membuat sistem pagination dari a.al akan sangat memakan .aktu dan (uga membosankan" @da banyak potongan program yang harus anda tulis hanya untuk menampilkan pagination sesuai dengan (umlah data dari database dan posisi anda melihat data saat ini, kemudian menampilkannya pada bagian ba.ah data" 4ntungnya, pagination merupakan salah satu dari sekian banyak 2itur pada $ara%el dimana kita bisa menggunakannya dengan lebih mudah tanpa harus membuat dari a.al" &embuat pagination dari a.al bisa men(adi mimpi buruk, sedangkan (ika anda tidak menggunakan pagination tentu kasihan pengguna anda (ika harus melihat terlalu banyak data dalam satu .aktu" Apa itu 0agination agination adalah suatu 3ara menampilkan data yang banyak ke dalam beberapa halaman" Ketika a.al mula membuat sebuah aplikasi .eb, anda mungkin tidak memerlukan pagination" #amun, seiring ber(alannya .aktu dan semakin banyak data yang harus ditampilkan, maka pagination akan men(adi sangat penting" Jika anda menampilkan banyak data sekaligus dalam satu .aktu, maka hal itu akan memperlambat proses pengambilan data dari database dan menyebabkan aplikasi men(adi lambat" 5engan menggunakan pagination, hanya beberapa set data sa(a yang akan diambil dari database dan ditampilkan langsung pada aplikasi" ada database, (umlah data dihitung dan dibagi-bagi men(adi beberapa halaman tergantung dari berapa banyak yang ingin anda tampilkan per halamannya" Kemudian (umlah halaman diperkirakan dan di(adikan nomor halaman pada bagian ba.ah tampilan data" Semoga anda mengerti /sudah mengerti sebelumnya0 tentang apa itu pagination" !enggunakan method paginate pada Laravel Seperti yang sudah saya (elaskan, $ara%el bisa mempermudah pembuatan pa!ination" ada KloMuent maupun pada Muery builder-nya $ara%el, terdapat method paginate yang bisa menentukan berapa (umlah data yang ingin ditampilkan, dimana semuanya sudah di-handle oleh $ara%el" &isal, dengan menggunakan KloMuent anda bisa mengambil data dari database dengan menggunakan method paginate sebagai berikut1 $users = User::pa0inate(O); atau (ika menggunakan Muery builder1 $users = User::pa0inate(Q); Kemudian, pada bagian ba.ah dari data yang ditampilkan /di ba.ah 2orea3h0, anda bisa menambahkan link pagination dengan 3ara sebagai berikut1 44 $users?&lin:s(); 66 )ontoh kode lengkap yang bisa anda gunakan untuk membuat pagination adalah sebagai berikut1 routes.php (oute::0et(1/12 3unction() 4 $products = Froduct::pa0inate(Q); return "ie/::ma:e(1tampil:an1)?&/ith(1products12 $products); 6); vie(s/tampilkan.blade.php 73oreach($products as $product) !tr& !td&44 $product?&name 66!/td& !td&44 $product?&price 66!/td& !td&44 $product?&stoc: 66!/td& !td& 44 Gin:::edit(1product/edit/1.$product?&id) 66 N 44 Gin:::delete(1product/delete/1.$product?&id) 66 !/td& !/tr& 7end3oreach 44 $products?&lin:s() 66 &udah bukan' dengan menggunakan $ara%el pembuatan pagination bisa semudah itu" #amun, mungkin ada kalanya anda perlu untuk mengubah tampilan pagination tersebut supaya sesuai dengan keinginan anda, misalnya supaya sesuai dengan )SS yang telah anda buat" @nda bisa melakukannya dengan 3ara membuat 3ustom pagination 3aranya akan saya (elaskan pada bagian diba.ah ini" !embuat Custom 0agination 4ntuk membuat 3ustom pagination pertama-tama anda buat sebuah 2older baru, pada app/vie/s" &isal, 2older tersebut anda beri nama structure" @nda boleh memberi nama lain (ika anda mau" Setelah itu, pada 2older tersebut buat sebuah 2ile baru bernama pa0ination.+lade.php" )ontoh isi 2ile tersebut adalah sebagai berikut1 !8php 7i3 ($pa0inator?&0etGastFa0e() & 1) !ul class=)ui pa0ination menu)& !a hre3=)44 $pa0inator?&0etUrl(1) 66) class=)item44 ($pa0inator?&0et*urrentFa0e() == 1) 8 1 disa+led1 : 11 66)& !i class=)icon le3t arro/)&!/i& Frevious !/a& 73or ($i = 1; $i != $pa0inator?&0etGastFa0e(); $iRR) !a hre3=)44 $pa0inator?&0etUrl($i) 66) class=)item44 ($pa0inator?&0et*urrentFa0e() == $i) 8 1 active1 : 11 66)& 44 $i 66 !/a& 7end3or !a hre3=)44 $pa0inator?&0etUrl($pa0inator?&0et*urrentFa0e()R1) 66) class=)item44 ($pa0inator?&0et*urrentFa0e() == $pa0inator?&0etGastFa0e()) 8 1 disa+led1 : 11 66)& -ext !i class=)icon ri0ht arro/)&!/i& !/a& !/ul& 7endi3 8& Silahkan anda ubah kode diatas sesuai dengan kebutuhan anda" &isalnya, mengubah nama 3lass dan lain-lain" Setelah itu, buka 2ile app/con3i0/vie/.php, lalu ubah key pagination men(adi sebagai berikut1 1pa0ination1 =& 1structure/pa0ination1 5engan 3ara seperti itu, ketika anda menuliskan $products?&lin:s() , maka yang ditampilkan bukan lagi pagination ba.aan dari lara%el, tetapi pagination yang barusan anda buat" Selamat men3obaL Beker5a dengan routing pada Laravel by SleepingKomodo @pril 1<, 2014 Fouter merupakan bagian yang sangat penting ketika berurusan dengan aplikasi terutama yang berbasis .eb" Fouter ber2ungsi menangani reMuest aplikasi kemudian mengarahkan aplikasi untuk memanggil halaman8resou3e tertentu" &isalnya, (ika anda memanggil 4F$ 1 http://localhost/products kemungkinan besar anda ingin mengarahkan aplikasi ke sebuah 3ontroller bernama Froduct*ontroller.php kan' #ah, pada postingan kali ini saya akan menga(ak anda mendalami sedikit lebih spesi2ik mengenai router pada $ara%el, serta bagaimana 3ara mengimplementasikannya" &enurut saya, sistem router pada $ara%el merupakan sistem router yang terbaik yang pernah saya gunakan selama mengenal 2rame.ork ! dan sangat memudahkan sekali bahkan ketika membuat routing yang 3ukup kompleks" !engenal routes pada Laravel Foutes pada $ara%el terdapat pada 2ile app/routes.php" Semua routes diletakkan pada 2ile tersebut agar ketika anda ingin memodi2ikasinya, anda tahu persis dimana routes tersebut berada" Selain dengan membuka 2ile tersebut, anda (uga bisa melihat routes apa sa(a yang terdapat pada aplikasi anda dengan menggunakan perintah pada 3ommand line1 php artisan routes 5engan perintah seperti diatas, seluruh routes yang ada pada aplikasi akan ditampilkan pada 3ommand line" &outes dasar Se3ara de2ault, ketika anda instal $ara%el sudah terdapat routes seperti berikut pada routes"php 1 (oute::0et(1/12 3unction() 4 return "ie/::ma:e(1hello1); 6); Seperti yang anda lihat, terdapat C8D /slash0 yang menandakan route tersebut menangani halaman utama dari aplikasi anda /halaman root0" Selain itu, route diatas mengembalikan sebuah %ie. dengan nama 2ile app/vie/s/hello.php" ðod 0et pada 3ontoh diatas adalah suatu method yang digunakan untuk menampilkan resour3e /bisa berupa 2ungsi atau 3ontroller0N ðod 0et menerima dua parameter, sebuah path dan sebuah 3losure" ath tersebut adalah 4F$ yang harus ditangani oleh method 0et tersebut" Sedangkan )losure adalah berupa anonymous 2un3tion, anonymous 2un3tion adalah sebuah 2ungsi yang tidak memiliki nama dan dapat dile.atkan kepada 2ungsi lain sebagai argument" &oute menggunakan method post Selain method 0et, pada $ara%el (uga terdapat method post untuk menangani route" ðod post, biasanya digunakan untuk mengarahkan 2orm ketika di submit" erhatikan 3ontoh berikut1 (oute::post(1product/store12 3unction() 4 return Froduct::create(;nput::all()); 6); &oute menggunakan method an6 FD,> dan SA> merupakan !ttp %erbs" FD,> bisa ditangani dengan method post pada route, dan SA> bisa ditangani dengan method get" Sekarang, bagaimana (ika kita ingin membuat route yang bisa menangani keduanya' Ja.abannya adalah menggunakan method anB" (oute::anB(1hello12 3unction() 4 return 1#ello 5orld1; 6); &oute menggunakan #..0S Jika anda menginginkan supaya reMuest ditangani melalui !ttps, anda bisa menggunakan array pada saat mele.atkan 3losure pada argument" erhatikan 3ontoh berikut1 (oute::0et(1product12 arraB(1https12 3unction() 4 return 1(oute men00una:an #>>F,1; 6)); !enggunakan parameter pada route ,erkadang anda perlu mele.atkan parameter pada 4F$, sebagai 3ontoh untuk mengambil produk dengan id O 1, maka anda mele.atkan parameter 1 pada 4F$ ketika mengakses route product seperti ini 1 product/1" 4ntuk itu, anda perlu membuat route seperti berikut1 (oute::0et(1product/4id612 3unction($id) 4 return Froduct::3ind($id); 6); ada 3ontoh diatas, parameter tersebut .a(ib diisi" @rtinya, anda tidak bisa mengakses route product, tetapi harus dengan parameter product/13odeP" #ah supaya parameter tersebut bersi2at opsional dan anda bisa mengakses route product tanpa parameter, anda perlu membubuhkan tanda tanya setelah nama parameter serta menambahkan de2ault %alue pada parameter tersebut" )ontoh1 (oute::0et(1product/4id8612 3unction($id = -UGG) 4 i3($id) 4 return Froduct::3ind($id); 6 return Froduct::all(); 6); !engarahkan route ke controller ada 3ontoh diatas, route diarahkan kepada sebuah anonymous 2un3tion yang ada pada method 0et, post atau anB" #ah, untuk mengarahkan route ke 3ontroller lakukan dengan 3ara seperti berikut ini1 (oute::0et(1product/4id612 1Froduct*ontroller7sho/Fro3ile1); *tulah sedikit mengenai 3ara menggunakan route pada $ara%el" 4ntuk lebih lengkapnya, (uga bisa melihatnya langsung pada dokumentasi $ara%el 4" Semoga berman2aat"