Halo teman-teman selamat datang di kelas laravel Nah di sini kita akan bahas tentang fitur baru apa aja yang ada di larfel 11 ya kebetulan saat saya buat videonya ini larfel itu belum genap 1 minggu ya E laravel terbaru itu rilis yaitu laravel 11 nah kita akan cek ya kira-kira fitur baru apa aja perubahannya apa aja dan nanti di akhir itu kita akan belajar Gimana caranya upgrade dari Project kita yang yang sudah kita buat Misalnya menggunakan larapel 10 itu ke larapel 11 Oke Sebelum kita mulai kita kenalan dulu ya jadi Nama saya adalah o Kurniawan saat ini kerja sebagai technical arsitek di salah satu e-commerce terbesar di Indonesia nah saya sendiri sudah kerja lebih dari 13 tahun dan biasanya di sela-sela kesibukan saya bekerja ya saya biasa menyempatkan diri berbagi konten soal programming ya di website programmer zaman now atau di youtube channel programmer zamanal Oke kalau teman-teman ingin diskusi dengan saya teman-teman bisa kontak saya lewat telegram atau jangan lupa juga follow sosial medianya programmer zamanau ya ada di Linkin Facebook Instagram YouTube telegram channel ada juga di tiktok atau misalnya kalau dari perusahaan teman-teman butuh konsultasi teman-teman juga bisa email ke email pribadi saya oke sebelum teman-teman mengikuti kelas ini pastikan teman-teman sudah mengikuti kelas PHP ya dari programmer zamanau tentunya kelas mql juga dan juga kelas laravel ya Jadi ini memang bukan untuk awal banget belajar laravel kalau teman-teman baru banget belajar laravel saya sudah buatkan video laravel dasar ya teman-teman bisa ikutin video ini jadi ini lebih ke teman-teman yang udah ngerti tentang laravel dan kira-kira ada versi baru nih laravel-nya kira-kira fitur apa aja nih yang ada di laravel 11 ini yuk kita mulai bahas Oke sebelum kita bahas ya kira-kira fitur apa aja yang ada di larapel 11 nah kita akan buat Project ya laravel 11 terlebih dahulu nah cara membuatnya ya sama seperti cara membuat Project laravel Biasanya kita bisa gunakan composer create Project laravel/ laravel sama dengan nah ini versi laravel-nya ya l di sini nama projectnya Nah teman-teman kalau ingin tahu saat ini saat saya buat videonya ini ya kita bisa lihat di sini di website-nya itu laravel itu versi terbarunya adalah laravel ini versi 1103 Nah jadi nanti teman-teman tinggal sesuaikan aja ya kalau bisa gunakan laravel versi 11 di sini Oke kita akan coba prakikkan langsung ya jadi saya akan eh masuk ke folder biasa saya menyimpan Oke jadi kita gunakan perintah komposer create Project ya laravel/ laravel sama dengan nah versinya tadi kita samakan ya v1.0.3 ini saya copy aja nah jadi v11.0.3 nah lalu di sini namanya belajar misalnya laravel 11 Oke kita tunggu ya sampai semuanya selesai nanti setelah selesai semuanya teman-teman silakan buka menggunakan teks editor atau ide yang biasa teman-teman gunakan Oke di larapel 11 struktur folder yang e dibuatnya gitu ya itu lebih sederhana dibanding laravel 10 nah kita akan lihat ya jadi struktur folder di laravel 11 itu lebih sederhana dibandingkan kalau teman-teman nanti bandingkan dengan larfel 10 nah tapi bukan berarti fitur-fitur di larfel itu dihapus enggak juga gitu ya jadi sederhana bukan berarti fiturnya dihilangkan fiturnya masih tetap ada cuma beberapa hal yang memang sebenarnya tidak perlu gitu ya E tidak perlu ditampilkan maksudnya Ya itu tidak akan ditampilkan secara default-nya Nah jadi contohnya misalnya kalau teman-teman Perhatikan ya ini adalah contoh e struktur foldernya jadi di sini di bagian app itu cuma ada http controller Lalu ada model ada provider nah sebelumnya saat kita buat menggunakan larap 10 itu ada banyak sekali file contohnya ada Kernel middleware gitu ya dan masih banyak yang lainnya Nah itu semua sekarang tidak muncul ya di sini jadi dia semuanya akan disimpan di Framework larafel-nya jadi tidak dimunculkan langsung di sini lagi nah sehingga aplikasi kita otomatis akan jadi lebih bersih dan juga lebih e kodenya lebih mudah untuk di-maintain karena tidak terlalu banyak ya Dan mungkin memang kadang-kadang kita juga enggak pernah pakai gitu ya kodenya Oke kita akan lihat misalnya di sini ini yang udah larapel 11 ya kalau kita kita perhatikan ya Nah di sini cuma ada provider model dan http controller nah ini yang laravel 10 nih Nah ini app ya Nah Lihat ada banyak ada konso ada knernel gitu ya Ada Exception handler http Nah ini banyak banget resource misalnya E Sorry Res kan kita bikin ya Nah ini contohnya ada yang middleware yang sebenarnya banyak middleware bawaan larfel yang mungkin tidak akan pernah kita modifikasi ya nah jadi ini juga ada provider provider juga banyak banget Prov ya gitu ya bahkan mungkin beberapa provider tidak kita gunakan atau bahkan tidak pernah kita modifikasi juga jadi contohnya kita biasanya menambahkan di aplication service provider misalnya nah jadi semua ini ya akan dibungkus semuanya dipindahkan ke Framework lar filnya jadi tidak lagi disimpan di kode program aplikasi kita makanya akan lebih ini ya lebih rapi jadi kodenya sangat sederhana jadi struktur foldernya sekarang lebih sederhana nah tapi kalau teman-teman perhatikan Bukan berarti semua fitur ini ini hilang contohnya misalnya di sini ada verify csrf token ya di larapel 10 bukan berarti ini kodenya hilang Kalau teman-teman cari ya Di dalam Framework laravel 11-nya saya akan coba cari ya Nah ini masih ada jadi masih ada di dalam illuminate foundation http middleware jadi semuanya dipindahkan ke dalam e library Framework dari laravel-nya ini kalau kita buka gitu ya Nah ini masih ada nah cuma lokasinya kalau kita perhatikan di sini ini nah lokasinya sekarang tidak lagi di kode program kita melainkan di sini ya ada di Framework larfil-nya langsung jadi Di sini ada semuanya jadi enggak usah khawatir ya fiturnya hilang enggak tapi masih tetap ada jadi semua yang ada di sini middleware Git ya itu teman-teman bisa dapatin di sini juga ya termasuk provider gitu ya Nah Lihat provider juga ada gitu ya dan lain-lain Nah jadi hampir semuanya itu masih tetap ada nah jadi salah satu yang utama gitu ya itu di larapel 11 itu struktur foldernya sekarang lebih simpel ya lebih sederhana selanjutnya di laravel 11 itu sekarang konfigurasi file ya atau config file itu juga lebih sederhana jadi beberapa file yang memang mungkin jarang digunakan gitu ya atau secara default tidak dibutuhkan itu tidak akan dibuatkan oleh larfel-nya projeknya Jadi kalau teman-teman perhatikan sekarang ya Nah kita bisa lihat di bagian config ya Nah di sini ini tidak terlalu banyak sekarang kalau kita coba bandingkan ya di sini iniilahevel 10 ya Nah Lihat config-nya lumayan banyak di sini padahal Mungkin beberapa hal tidak pernah kita Modifikasi gitu ya bahkan mungkin tidak pernah digunakan gitu ya Nah tapi di larapel 11 sekarang semuanya disederhanakan jadi memang yang istilahnya itu yang memang sering digunakan dia muncul di sini nah tapi tenang aja Bukan berarti semua confignya hilang gitu ya enggak juga sama seperti yang tadi di awal jadi default-nya config-nya akan disimpan di framework-nya jadi default-nya memang akan disimpan di framework-nya jadi beberapa hal yang mungkin jarang kita modifikasi ya udah gitu ya ngapain juga disimpan di sini kita simpan di framework-nya aja jadi semua ee yang hilang di sini tenang aja semuanya masih ada di framework-nya nah pertanyaannya mungkin kadang-kadang Oke saya pengin memodifikasi sekarang tidak mau pakai bawaan Framework contohnya di sini kita tidak ada config file namanya misalnya ee broadcasting ya Nah di sini tidak ada ya atau misalnya yang lain contohnya ada ee view gitu ya Nah ini di sini enggak ada sekarang nah misalnya saya mau ngeganti lokasi view-nya di sini ini kan view-nya misalnya lokasinya di mana gitu ya Nah kadang-kadang kan jarang pernah kita ganti ya nah misalnya kalau mau kita ganti mau tidak mau kan kita harus bikin config view-nya nah tenang aja ada caranya kalau teman-teman mau ee menampilkan atau membuat atau mengubah default config-nya Nah jadi di 11 ya config fnya akan lebih sedikit ya bahkan beberapa config file dihapus secara kodenya tapi bukan berarti dihapus permanen ya Nami masih ada tetap di framework-nya Nah jadi ee seperti itu lebih sederhana Nah kalau teman-teman misalnya ingin ya saya mau menampilkan config-nya langsung di kode program saya gitu ya biar saya bisa modifikasi Nah kita bisa gunakan yang namanya publish config jadi kalau kita butuh config file yang dihapus di lar file 11 kita bisa gunakan perintah PHP artisan config ti2 publish Nah nanti kita bisa pilih config file Mana yang mau kita publish lagi jadi mau dipindahkan dari yang di dalam e Framework lar fel-nya keluar ke kode program kita Oke kita akan coba nih jadi di sini misalnya ya saya akan coba gunakan perintah yang tadi ya Eh PHP artisan config publish Nah lihat jadi ada pilih ya Sekarang saya mau publish yang mana contohnya Saya mau pilih yang paling bawah itu view ya nah saya pilih ini Nah otomatis di sini ada view sekarang Nah ini ya Jadi sekarang ada view-nya tadi sebelumnya tidak ada ya tidak ada view-nya nah sekarang ada view-nya nah atau yang broadcasting misalnya ya saya tinggal pilih nanti config publish saya pilih yang broadcasting ya Nah lihat di sini sekarang ada config broadcasting ini yang defaultnya nah jadi seperti itu ya untuk Eh m-publish ulang ya atau mengambil dari eh internal framework-nya ke luar ya ke kode aplikasi kita config-config yang kita butuhkan Nah kalau tidak dibutuhkan ya simpel teman-teman bisa delete aja langsung gitu ya Jadi ini tinggal kita delete yang tidak kita butuhkan Jadi nanti dia akan pakai bawaan default-nya Nah jadi seperti itu ya jadi di larapil 11 config file juga lebih sederhana lagi jadi yang default-nya memang tidak diperlukan untuk dimodifikasi dia tidak akan dipublish di kode program kita Oke di larapel 11 service provider juga sekarang lebih sederhana lagi ya Jadi tidak serumit pembuatannya bahkan ya E seperti di larapel 10 Oke jadi di larapel 10 banyak sekali service provider yang pertama kali dibuat di Project jadi kalau kita perhatikan ini l rapel 10 ya E kita perhatikan di app nah di providers ini banyak sekali service provider yang mungkin kita enggak butuh gitu ya contohnya ada broadcast gitu ya ada out ada event dan lain-lain Nah jadi mungkin kalau beberapa hal tidak kita butuh ya akhirnya kita hapus juga gitu ya Nah jadi di larapel 11 nah kalau teman-teman Perhatikan ya di application ini default-nya cuma ada satu service provider tapi tenang aja seperti yang saya bilang lagi ya itu dia sebenarnya ada di dalam framework-nya Jadi teman-teman enggak usah khawatir semua fiturnya hilang bukan ya enggak hilang cuma di e sembunyikan di dalam SI framework-nya jadi kita tidak perlu e melihat kompleksitas dari Apa yang dilakukan si frameworknya jadi di larel 11 semua service provider tersebut disimpan di dalam Framework laravilnya sehingga di projectnya itu hanya tersedia application service provider nah memang kan kebanyakan kita kalau mau menambahkan e misalnya objek gitu ya ke dalam service provider ya Biasanya kita di application service provider atau bahkan bikin service provider baru gitu ya jarang mungkin memodifikasi service provider yang sudah ada nah di larapel 10 untuk membuat service provider kita perlu registrasikan juga ke config app Nah jadi setelah kita Bu buat service provider kalau di larapel 10 gitu ya kita harus masukkan ke config lalu app di sini Nah di sini semuanya service provider-nya ya Nah ini kita harus masukkan ke sini semua nah di larapel 11 kita tidak perlu melakukan itu lagi bahkan kalau teman-teman perhatikan di dalam config app itu sudah tidak ada service provider lagi di sini Nah lihat jadi tidak ada provider lagi jadi tidak disimpan di sini lagi di laril 11 untuk meregistrasikan service provider kita cukup gunakan file yang namanya bootstrap providers jadi di sini ada bootstrap nah ini lebih simpel ya lalu di sini ada application Nah di sini nanti konfigurasi aplikasinya dan di sini providers nah jadi tinggal return data provider Mana yang mau kita gunakan jadi lebih sederhana kalau sekarang ya kalau E mau membuat provider nah bahkan ya saat kita buat provider ya Misalnya teman-teman bikin provider misalnya di sini PHP artisan make provider var service provider nah dia secara otomatis bahkan ditambahkan ke bootstrap providers jadi otomatis tuh ditambahin Jadi beneran lebih simpel banget untuk bikin provider di larapel 11 kita coba ya Oke kita coba misalnya PHP artisan make provider ya lalu vou bar serpris provider misalnya seperti ini selesai nah dibuatkan ya Di app providers fubar service provider ya kita lihat di sini ada far service provider Nah teman-teman tinggal eh lakukan registrasi dan lain-lain ya di service provider ini kalau kita lihat di bagian provider ini bootstrap providers nah ini otomatis ditambahkan di sini fubar service provider jadi kita bahkan tidak perlu lagi registrasikan secara manual mengubah config dan lain-lain jadi saat kita generate kodenya profile n Itu otomatis ditambahkan ke bagian sini Jadi sekarang beneran lebih gampang ya ketika teman-teman membuat provider dan lebih sederhana juga ingat ya sederhana bukan berarti hilang fiturnya tapi lebih Justru lebih mudah digunakan di larapel 11 melakukan roouting juga sekarang lebih sederhana ya Jadi kalau teman-teman Perhatikan ya di lar 10 nah kalau teman-teman mau melakukan routing itu konfigurasi rting nya dilakukan di rad service provider jadi kalau kita perhatikan di larapel 10 Nah untuk lakukan routing Itu disimpan di providers di sini road service provider Nah di sini di lakukan eh Roads misalnya gitu ya Eh prefix-nya api lalu dia ngambil e roots api.php misalnya kalau misalnya web dia eh rootsweb.php ya walaupun ujung-ujungnya sebenarnya sama ya di bagian roots ya di sini ada api ada juga web nah tapi caranya itu dilakukan di sini nih road service provider nah berbeda dengan ya larapel 11 nah di larapel 11 konfigurasi roouting lebih sederhana sekarang itu menggunakan yang namanya application Builder Nah jadi konsep application Builder ini adalah konsep baru di laravel 11 di mana application Builder itu cara membuat aplikasinya jadi beberapa hal step by step-nya itu dilakukan di application Builder jadi akan lebih eh gampang kelihatannya ya lebih jelas kalau yang sebelumnya di larapel e 10 itu agak runyem ya kalau mau lihat roouting harus ke service provider mana Kalau mau lihat ini ke service provider mana dan lain-lain Nah kalau di larap 11 itu lebih terscentralize ya di satu tempat yaitu di application Builder nah dia ditempatkan di sebuah file namanya ini
[email protected] nah secara default ya ketika pertama kali dibuat aplikasi e lara fil-nya itu default routing itu hanya disediakan untuk web saja dan juga comand saja Nah jadi tidak disediakan untuk membuat ap Nah kalau di lap 10 kan disediakan untuk api ya Nah kalau di lap 11 itu defaultnya untuk web doang nah tapi tenang aja bukan berarti fitur api-nya hilang ya tenang aja nanti kita akan bahas Oke jadi kalau teman-teman perhatikan sekarang ya di lapel 10 itu melakukan rotingnya tidak ada lagi di sini dalam road service provider itu enggak ada jadi adanya di bootstrap app Di sini nah ini dia menggunakan application Builder Nah di sini dia bilang ada meode yang namanya with routing nah with roouting di sini ada eh named parameter ya Nah ada bagian web web dia ngambil konfigurasi dari roots web PHP dan Commands dia ngambil dari rootsco.php nah lalu di sini kita lihat roots nah ini jadi di sini ada web jadi sama seperti sebelumnya sebenarnya kalau untuk bikin rooutingnya tapi sekarang konfigurasi roouting-nya Itu disimpan di sini nah jadi semuanya lebih sederhana jadi di sini eh roouting middleware Ex dan lain-lain jadi Semuanya di satu tempat jadi kalau kita mau ngelihat ya E aplikasinya ngelakuin apa aja routingnya Ada apa aja middleware-nya Ada apa aja Exception hander-nya ada apa aja itu kita enggak pusing buka-buka di beberapa file jadi Semuanya tersentraliz di satu tempat untuk bootstrapping-nya ya istilahnya atau konfigurasi aplikasinya di laravel 11 api road sekarang jadi hal yang opsional jadi tidak langsung di dibuat ya pertama kali ketika kita buat projectnya jadi beda dengan larapel 10 Kalau larapel 10 api road-nya otomatis dia dibuat jadi di larapel 10 secara default terdapat api routing ya Jadi kalau teman-teman bikin Project itu api routing-nya otomatis dibuatkan Nah kalau di larapel 11 itu jadi hal yang opsional jadi mungkin kadang-kadang kalau kita hanya ingin membuat web kita tidak butuh api gitu ya jadi ya di LP 11 default-nya hanya untuk web aja nah tapi bukan berarti hilang ya saya bilang jadi memang itu eh dia cuma dihilangkan secara default tapi kalau teman-teman mau Munculkan itu masih tetap bisa Nah kalau misalnya kita ingin menambahkan fitur api routing ya kita bisa gunakan perintah PHP arstisan ya install.2 api nanti dia akan coba tambahkan api routing plus dependensi yang dibutuhkan oleh si api ini ya nah jadi nanti dia akan ditambahkan juga otomatis di bagian bootstrap app ya lalu ditambahkan juga File e road/api.php Nah kita coba misalnya ya jadi misalnya di sini saya akan coba ya E gunakan PHP artisan install api Nah nanti dia akan e download semua dependensi yang dibutuhkan ya untuk membuat api Nah setelah itu nanti dia akan memodifikasi file-nya gitu ya Nah ini nanti dia akan e nanya apakah mau diunning migration-nya atau tidak saya bilang no dulu ya karena saya tidak butuh nah selesai lalu di sini kalau teman-teman Perhatikan ya Nah kita bisa lihat nah dia berubah nih di bagian app-nya sekarang di sini ada api ya di bagian ini ada api dan dia menuju ke rots api.php Nah di sini di roots api.php nah isinya sekarang di sini ya teman-teman silakan eh nambahin semua routing untuk api-nya Nah jadi seperti itu ya Jadi kalau teman-teman E mau menambahkan roots untuk api ya teman-teman tinggal tambahkan di bagian sini nah jadi seperti itu ee di larapel 11 irod sekarang menjadi di hal yang opsional jadi tidak wajib lagi Oke di larapel 11 ya struktur middleware juga sekarang lebih sederhana ya jadi kan sebelumnya ada banyak sekali middleware yang ada eh di projject laravel ya ketika kita buat lalu di sana disediakan banyak sekali middleware jadi kalau kita lihat di laravel 10 Nah di sini ada banyak sekali middleware yang mungkin kita enggak pernah pakai gitu ya Atau mungkin ee dipakai tapi kita enggak pernah modifikasi gitu ya Nah kalau di laravel 11 Sekarang semua middle bar tersebut akan disimpan di Framework laravel-nya jadi teman-teman tidak usah khawatir ya jadi semua middleware yang digenerate di larap 10 itu sekarang disimpan di dalam SI framework-nya ya jadi teman-teman enggak perlu khawatir itu hilang ya jadi masih tetap ada nah kalau kita mau mengelola middleware sekarang lebih gampang kita bisa gunakan application Builder seperti sebelumnya jadi kita tinggal buka bootstrap App nah di sana kita bisa e nambahin gitu ya atau menghapus middleware Jadi teman-teman kalau misalnya sebelumnya ya di sini kan middleware itu ya teman-teman harus tambahkan di dalam Kernel ya di sini ya di Kernel di sini nah kita bisa lihat di sini knernel ada e Global middleware di sini ya Eh Global middleware Oh di sini ada middleware yang pakai grup atau di sini middleware alias Nah sekarang semua ini kita enggak perlu lakukan karena default-nya memang sudah diregistrasikan sama seperti ini Nah sekarang ya di larapel 11 itu teman-teman bisa lakukan di bagian Eh ini ya bootstrap app ya Nah di sini di application Builder ini teman-teman bisa gunakan yang with middleware jadi di sini teman-teman tinggal tambahkan aja jadi di sini ada sebuah parameter middleware jadi tinggal teman-teman gunakan middleware contohnya ada eh Appen ya Appen itu berarti nambahin ya Nah ini Appen Global ya kalau teman-teman mau nambahin Global middleware ini append to group ya kalau teman-teman mau nambahin ke grup contohnya grup web kah atau grup api seperti itu nah atau teman-teman mau bikin alias di sini juga ada alias ya Jadi kalau teman-teman kalau kalau mau teman-teman bikin alias middleware teman-teman bisa lakukan di sini juga jadi semuanya e di handle sekarang ada sebuah kassas namanya middleware jadi kita bisa lihat di sini ya kelasnya nah ini ya semuanya ada di sini nah kalau teman perhatikan di bagian sini kita cek ke bagian agak bawah nah lihat ini ada middleware middleware yang sebelumnya ee ini ya sebelumnya Kalau kalau di laravel 10 itu ada di sini middleware Nah di middleware ini semua ada di sini seperti trim string dan lain-lain nah di laravel 11 itu semuanya ada di sini ya nah jadi enggak usah khawatir ini tidak hilang ya jadi masih ada di sini nah jadi kita cuma fokus tinggal mau nambahin atau mau ngurangin dan lain-lain Oke misalnya ya Sekarang kita akan coba tambahin sebuah middleware misalnya kita bisa gunakan perintah PHP artisan make middleware ya lalu di sini log middleware Oke kita coba buat dulu PHP artisan make middleware ya contohnya log middleware Oke kita lihat di sini ada di http middleware di sini ya Ada log middleware nah misalnya kita setiap ada request misalnya kita mau log ya nah jadi kita ubah misalnya seperti ini jadi setiap ada request kita gunakan log ved itu eh tambahin handling request apa misalnya ya Jadi kita pengen e nglog aja nanti kita akan coba registrasikan sebagai Global middleware Oke jadi di sini kita gunakan pakainya log ya yang illuminate support vacket ya lalu info misalnya seperti ini jangan lupa nanti teman-teman use dulu ya Yang ini Lalu di sini misalnya handling request untuk yang full url-nya apa Nah seperti ini Nah sekarang kita kan udah bikin log middleware ini Nah teman-teman bisa tambahkan menggunakan Ini contohnya kalau teman-teman mau tambahin ke e Global middleware ya teman-teman bisa gunakan seperti ini middleware append gitu ya Nah atau kalau teman-teman mau ke grup tertentu ya teman-teman tinggal gunakan append to group grupnya apa di sini lalu di sini middleware-nya apa Jadi teman-teman bisa lakukan seperti itu Oke kita akan coba tambahin ke Global middleware aja misalnya ya jadi di dalam e app Di sini kita bisa tambahkan di sini middleware ya openen ya kita bisa tambahkan tadi log middleware selesai jadi eh cukup sederhana ya Nah sekarang kita coba deh PHP artisan ya serve Nah kita akan coba buka ya nanti local host misalnya E 8.000 ya Nah lihat di sini sudah keluar ya nah teman-teman saya perkecil dulu saya akan Coba refresh refres terus ya beberapa kali Nah kita akan coba cek Nah ini kan e di log ya kita akan coba lihat di bagian storage laravelog Nah kita lihat nah lihat di sini muncul ya jadi handlink request ke rad-nya ke sini nah jadi sekarang untuk manajemen middleware lebih h sederhana lagi ya dibanding laravel 10 Oke fitur baru ya yang benar-benar baru di laravel 11 ada yang namanya he check jadi laravel 11 itu memiliki fitur yang namanya sekarang heth check fitur ini ini biasanya digunakan untuk memastikan Apakah aplikasi yang kita buat ya aplikasiavelnya itu dalam keadaan sehat atau tidak nah ini contohnya cocok banget ketika teman-teman nanti Misalnya Eh ini ya eh di pengecekan he checknya ya kesehatannya misalnya aplikasi kita kita mau misalnya ng-ping ke database ng-ping ke redis atau query ke database Dan lain-lain untuk memastikan bahwa aplikasi kita berjalan normal bisa query ke database bisa query ke redis dan lain-lain nah ini cocok banget kalau teman-teman misalnya nanti deploy aplikasi teman-teman misalnya E di kubernetes misalnya kalau di kubernetes itu kan butuh yang namanya he check ya nah jadi kita bisa gunakan seperti ini jadi kita sekarang ee bisa pakai bawaan fitur lap 11 lagi ya jadi enggak perlu bikin manual lagi kalau di lap 10 sebelumnya untuk menambahkan fitur ini kita harus lakukan secara manual Nah kalau sekarang enggak perlu secara default ya kita bisa akses url app ya Nah itu di di aplikasi larapel 11 atau teman-teman bisa ubah ya lokasinya untuk he checknya itu di bootstrap app Nah jadi kita bisa lihat di sini ya contohnya kalau kita buka di app Nah di sini ada with routing Nah ada di sini ada parameter namanya he ya he itu adalah lokasi endpo dari he he check ya itu maunya di mana Nah ini default-nya di slash up jadi kalau kita buka website kita larfel-nya slash up Nah itu otomatis dia akan melakukan he check Nah jadi kalau teman-teman sekarang kan kita udah jalanin ya lar fil-nya Nah kita coba akan buka misalnya jadi di sini slash up Nah Lihat responnya cuma seperti ini aja responnya gitu ya application up jadi aplikasinya eh jalan gitu ya Nah kalau misalnya ada masalah misalnya aplikasi kita enggak bisa connect database aplikasi kita enggak bisa connect redis misalnya nah itu harusnya ada istilahnya itu peringatan ya jadi misalnya error jadi e respon dari eh he checknya itu jangan sukses kalau ini berarti sukses gitu ya enggak ada masalah Oke kita akan cek Lebih Detail Oke jadi pertanyaannya gimana kalau kita mau menambahkan he check gitu ya contohnya teman-teman mau ngecek ke redis misalnya gitu ya Nah saat endpoint he check itu diakses larafel itu akan mengirimkan yang namanya event diagnosing health jadi ada yang namanya event ya di dalam si laravel itu dikirim ya oleh larfel-nya itu namanya adalah diagnosing health nah simpelnya kita bisa membuat yang namanya event listener event listener itu adalah eh sebuah kode ya Di mana dia akan mendengarkan event nah event-nya yang kita dengarkan adalah diagnosing health kalau misalnya event itu di di kirim oleh laravel kita akan dengarkan lalu kita akan lakukan pengecekan nah misalnya kita mau lakukan pengecekan ke redis kita mau melakukan pengecekan ke database misalnya dan lain-lain teman-teman bebas ya melakukan pengecekan apapun Nah kalau misalnya terjadi error ya teman-teman bisa throw error aja ya di pengecekan event listenernya J misalnya Ketika saya connect credis ternyata enggak mau connect Ya udah saya akan throw errorkan gitu ya Secara otomatis nanti ya endpoint he checknya itu akan gagal akan error artinya aplikasi kita lagi tidak sehat Nah jadi teman-teman bisa lakukan seperti itu Oke kita akan coba ya Misalnya saya akan coba mengecek ke redis misalnya ya Jadi saya mau ketika hold end point-nya di eh Panggil ya saya mau ngecek redis dulu jadi Apakah redisnya nyala atau enggak kalau misalnya enggak nyala Saya mau bilang kalau aplikasi Saya lagi tidak sehat seperti itu Oke kita akan coba ya Jadi sekarang kita akan bikin event listener terlebih dahulu Nah kita bisa gunakan perintah ini PHP artisan make listener lalu redis check event listener Oke kita akan coba Oke ini saya akan stop dulu ya Nah setelah stop kita akan coba di sini gunakan perintah PHP artisan ma listener ya redis check event listener Oke nanti semua listener itu disimpan di listeners di sini ya Nah teman-teman tidak perlu konfigurasi apa-apa karena secara otomatis ya Ee akan di ambil ya oleh si laravel Ya semua yang ada di dalam folder listeners ini Oke ini listeners ya readyck Nah ini isinya nah yang paling penting adalah ini handlnya dia mau handle apa Nah ini kita bisa Hapus dulu misalnya ya untuk e yang constructornya nah objek ini teman-teman perlu ganti dengan event yang mau didengarkan eventnya apa Nah untuk yang tadi yang saya bilang kalau misalnya he check gitu ya itu dia itu harus dengarnya adalah ini diagnosing he jadi kita harus eh ganti Ya tipenya menjadi diagnosing he jadi di sini kita bisa ganti menjadi diagnosing hold ya jadi nanti kalau ada event diagnosing hold maka method ini akan dipanggil nah Ngapain di sini ya simpel teman-teman mau ngapain contohnya di sini saya mau ping ke redis ya kalau redisnya dapat dapat balasan pong misalnya artinya sukses ya kita akan eh log redis-nya up gitu ya ya udah enggak ngapa-ngapain lagi nah habis situ kalau misalnya gagal Nah baru saya akan throw new Exception ya jadi saya bilang kalau ada problem redis-nya lagi down Oke kita akan coba Oke jadi di sini saya akan coba respon misalnya Eh teman-teman kalau misalnya tidak familiar dengan redis saya sudahah pernah buatkan ya eh video larfel redis ya Jadi kita gunakan redis vacket pink misalnya ya Nah lalu kalau kita cek responsnya itu sama dengan pong nah lalu ngapain lalu di sini contohnya Saya mau log aja gitu ya Yang penting kan kita enggak ngelakuin error misalnya kalau misalnya sukses eh redis is up misalnya nah kalau ini redis is down misalnya ya Nah langsung kita throw E new Exception Oke selesai ya jadi ee simpel banget ya cukup seperti ini aja nah sebelum teman-teman nanti jalankan pastikan teman-teman menjalankan redis terlebih dahulu ya jadi misalnya ee teman-teman silakan dulu jalankan redis-nya Kalau sudah tinggal gunakan PHP artisan serve ya kita coba lagi Oke kita akan coba kita akan coba di sini refresh sukses ya Kenapa karena kebetulan ready Saya lagi nyala ya Jadi kalau saya refresh sipes ini sukses terus kita coba cek log-nya ya di sini nah keluar ya oh sebentar ini redis Cheek saya Apakah benar Oh ya benar ya Oh ini ini saya lupa nih pantesan tadi enggak kelihatan ya log-nya di sini ya Ternyata kita lupa di sini ngubah ini harusnya diubah diagnosing hold nah nah enter Nah tadi saya lupa ya Jadi kalau tidak kita tambahkan diagnosing hold di sini maka otomatis dia tidak listen ya nah jadi kita harus tambahkan kita coba lagi sekarang refresh berkali-kali kita cek larav log-nya Nah sekarang udah keluar ya redis is up redis is up berarti memang e nyala Sekarang saya mau coba matikan redis-nya saya akan coba matikan redis-nya stop redis-nya Nah kita akan Coba refresh Nah Lihat error sekarang ya di sini errornya adalah connection Refuse ya kebetulan jadi tidak bisa connect ke redis-nya jadi eh sudah benar nih kita sekarang sudah bisa eh mengubah ya yang slash up-nya yang tadinya sukses jadi error jadi teman-teman kalau mau tambahin misalnya Oke saya mau cek ke database eh MySQL Ya udah teman-teman bikin event listener lagi teman-teman mau ngecek misalnya ke aplikasi payment Gateway gitu ya Ya teman-teman bikin lagi gitu ya Dan Seterusnya jadi simpel banget jadi lebih ke modular ya Jadi teman-teman tidak perlu bikin kodenya numpuk di satu event listener itu enggak perlu jadi teman-teman enggak perlu ditumpuk di satu sini teman-teman tinggal bikin beberapa event listener Yang penting nanti dihandle di sini teman-teman pakainya di sini adalah diagnosing heth Nah jadi ini adalah fitur yang baru di larapel 11 yaitu he check Oke di larapel 11 itu sekarang ada perintah artisan baru ya jadi ee terutama untuk membuat beberapa hal jadi laravel 11 sekarang menyediakan perintah artisan baru untuk membuat beberapa hal di PHP ya jadi ini lebih fokus ke php-nya nah ini sangat membantu kita ketika kita mau membuat kode-kode php yang pertama ada PHP artisan make Enum nah ini untuk membuat PHP Enum jadi kalau teman-teman mau bikin PHP Enum sekarang itu lebih gampang kita bisa gunakan PHP artisan make Enum nanti otomatis dibuatkan kelas enum-nya jadi teman-teman tidak perlu menggunakan editor mengetik manual lagi enggak perlu kita bisa gunakan perintah ini kalau teman-teman mau bikin kelas PHP baru kita bisa gunakan PHP artisan make class atau kalau teman-teman mau bikin interface baru ya teman-teman bisa gunakan PHP artisan make interface atau mau bikin PHP trade baru teman-teman bisa gunakan PHP artisan Ma trade jadi semuanya itu sekarang Gampang kalau mau bikin kode-kode di php-nya jadi teman-teman tidak perlu bikin manual nanti otomatis semua nama namespace-nya ya nama kelasnya Itu otomatis dibuatkan Oke kita akan coba nih jadi misalnya ya saya akan stop dulu aplikasinya Nah jadi nanti semua kelasnya itu akan masuk ke dalam app di sini ya folder app jadi misalnya kita buat misalnya PHP artisan make Enum misalnya ya nah saya mau ke models ya slash misalnya gender Nah otomatis dibuatkan nih gender.php ya Model nah ini adalah Enum nah isinya adalah gender jadi teman-teman tinggal tambahin aja maunya apa di sini ya jadi di sini sudah dibuatkan jadi ini namespace-nya juga sudah ada semuanya Oke kita coba lagi misalnya eh PHP artisan Ma misalnya interface misalnya us eh Services ya/ userice Nah otomatis dibuatkan folder Services ya lalu di sini nama fil-nya user Services Nah di sini sudah ada user Services nah seperti ini saya mau bikin misalnya kelas sekarang ya nah classas nah ini user Services impl misalnya ya Nah otomatis dibuatkan user Services impl Nah lihat plus constructornya juga atau teman-teman mau bikin trade misalnya ya Nah kita bikin misalnya di sini eh trade ya lalu di eh services misalnya eh closeable ya Nah kita lihat di sini otomatis ada trade trade closeable Nah jadi sekarang lebih gampang kalau teman-teman mau bikin class trade interface Enum itu teman-teman bisa gunakan sekarang PHP artisan salah satu fitur di larapel 11 itu sekarang adalah integrasi dengan P unit test Nah saat ini ada sebuah Framework yang lagi naik down nih atau lagi populer ni ya di php terutama ya itu namanya adalah PES nah ini adalah alternatif lain dari PHP unit untuk melakukan unit test jadi library lain selain PHP unit namanya adalah P Nah teman-teman bisa lihat di sini ya di P PHP jadi ini adalah library lain ya untuk bikin unit test sebenarnya sih sama aja tujuannya untuk unit test Cuma bedanya adalah cara pembuatan unit testnya dan cara penggunaannya jadi di sini Kalau teman perhatikan kita akan akan lihat misalnya bikin tes misalnya ya ini kodenya itu lebih ee enak ya E dibacanya seperti test ngapain lalu function test-nya apa lalu expect-nya gitu ya result-nya to be 3 seperti ini jadi enak banget bacanya gitu ya jadi seperti baca Eh ini baca kalimat ya it perform some apa gitu ya expect datanya itu to be 3 seperti itu jadi atau seperti ini Describe some gitu ya it buat teman-teman yang sebelumnya belajar e note JS pasti bakal sangat familiar ya dengan gaya kode seperti ini karena kebanyakan di notjs gaya kode unites-nya itu seperti ini Nah makanya sekarang PES juga lumayan populer ya nah jadi kita bisa integrasikan PES ini ya dibanding menggunakan misalnya PHP unit Nah sekarang kita akan coba ya Oke untuk menginstal P sebagai test framework-nya ya di larfel kita bisa Hapus dulu file phhp unitnya ya yaitu PHP unit xml lalu file-file unit test yang menggunakan PHP unit nah saat kita gunakan composer create Project ya sayangnya default-nya masih eh unit test ya di sini PHP unit ya Nah kalau temaneman perhatikan example test Nah ini masih ke PHP unit Sebenarnya ya Ee gayanya pun gaya PHP unit Nah kita mau ganti Misalnya ya jadi saya akan hapus ya yang EE ample sama example test ini karena ini masih menggunakan PHP unit Kalau test case-nya I enggak perlu dihapus ya karena ini bawaan dari Lara file-nya kita masih butuh lalu yang e PHP unit xml-nya ini kita hapus Nah seperti ini nah lalu kita instal dulu dependeninya Oke jadi Selanjutnya kita instal dulu P menggunakan perintah ini composer require P php/p lalu Dev ya lalu With All Dependency ya kita butuhkan di development ya Jadi bukan di Eh production ya Jadi kita cuma jalanin di development Nah kita akan coba jadi compposer ya require p php/ p ya minus minus Dev minus minus With All dependencies ya Oke kita tunggu ya sampai selesai Nah nanti setelah selesai Nah kita perlu set up pertama kali dulu nah jadi kita perlu set up seluruh file yang dibutuhkan oleh rar file ya the plus pass-nya itu menggunakan perintah ini jadi nanti ada binary file yang namanya P ya di dalam vendor bin pass jadi teman-teman tinggal execute saja lalu tambahkan perintah Init nanti otomatis akan dibuatkan si eh semua file-file yang dibutuhkan ya Nah nanti untuk menjalankan unit testnya itu teman-teman bisa gunakan yang perintah P juga nah jadi seperti itu Jadi kalau PHP unit ya dijalankannya pakai PHP unit kalau ini ya pakainya P ya Oke kita akan coba Oke kita akan coba di sini ya E kalau di e macos atau di Linux itu pakainya slash gitu ya titik slash vendor bin e p misalnya tapi kalau di Windows Biasanya sih enggak perlu ya enggak perlu e pakai titik slash jadi langsung vendor dan sebagainya oke lalu di sini minus-minus Init ya untuk inisialisasi awalnya Nah nanti akan dibuatkan beberapa file ya Nah di sini kita bisa baca nanti akan dibuatkan PHP unit xml yang e modenya p lalu akan dibuatkan p.tik PHP nah ini test case enggak perlu karena sudah ada lalu akan dibuatkan ini dua ini jadi nanti di sini dikasih tahu ya yang File e file created-nya yang mana Oke saya bilang yes enter nah selesai semuanya akan dibuatkan Oke kita akan coba lihat nah hasilnya di sini Jadi ini tes sekarang ini example test kalau kita buka Nah Lihat ini sekarang gayanya pakai p ini juga sama ya Nah seperti ini kalau kita mau jalankan ya simpel ya teman-teman tinggal gunakan vendor binp nah dia otomatis dijalankan semuanya Nah jadi seperti ini ya kalau teman-teman pengin tahu Lebih Detail ya teman-teman bisa belajar sendiri untuk pass unit testnya tapi intinya sekarang di larvel 11 teman-teman ada alternatif lain untuk bikin unit tesnya teman-teman bisa gunakan si test Eh sorryi P test Framework ini oke sekarang pertanyaannya gimana kalau kita mau bikin unit test baru Kan Biasanya kita gunakan perintah PHP artisan Ma test ya Nah kalau kita sudah mengganti PHP unit menjadi PES ya saat kita buat Nanti unit test baru ya menggunakan printah PHP artisan matest itu nanti laravel akan menggunakan P secara otomatis Nah dari mana si laravel ini tahu kalau kita sudah menggunakan P itu laravel nanti akan baca ya di dalam folder test Apakah ada file p tik PHP atau tidak kalau ada file ini maka dia akan bikinnya e unit test-nya dalam bentuk P Kalau tidak ada maka dia akan bikin dalam bentuk PHP unit ya jadi contohnya misalnya kita buat PHP artisan make test misalnya Hello test ya kita lihat nah lihat di sini Hello test dia bentuknya sekarang jadi eh PES ya nah ini kalau kita running misalnya nah dia menjalankan menggunakan paste ya Nah ini Lihat P Nah jadi seperti ini Jadi teman-teman enggak usah khawatir ya Jadi kalau kita sudah ubah menjadi pe maka dia otomatis akan pakai p Oke jadi di lar Fel 11 sekarang default database ketika kita buat Project Ya itu default-nya dia akan menggunakan SQ Lite ya nah jadi e kalau teman-teman bikin ya kalau teman-teman misalnya mau menggunakan e micq contohnya nah teman-teman mau tidak mau harus ubah jadi saat pertama pertama kali Project laravel 11 itu dibuat secara default laravel akan menggunakan database-nya adalah sqlite ya Jadi tidak database mysqel lagi nah jikalau kita ingin mengganti ya menjadi database myqul misalnya ya simpel sih ya kita cuma tinggal ganti di environment variabelnya aja jadi simpel banget jadi contohnya misalnya nah di dalam Inv file-nya itu teman-teman tinggal ganti aja DB connection-nya yang tadinya misalnya sqlite ya teman-teman ganti jadi myql tadi teman-teman tinggal samakan dengan konfigurasi di eh file database-nya Jadi kalau teman-teman perhatikan di sini dyv-nya ya ini sekarang file-nya itu database-nya ya DB connection-nya itu adalah sqlite Jadi bukan lagi MySQL jadi kalau kita lihat di config ya di database jadi dia berarti pakainya default-nya adalah DB connection-nya xqlite ya jadi dia pakainya xqlite ini nah SQ LED ini berarti ya pakainya sqled ya nah jadi tergantung di laptop teman tem-teman atau di komputer teman-teman ada atau tidak Nah kalau teman-teman pengin ganti ya jadi myquil contohnya ya tinggal ganti aja sebenarnya ya jadi di inv-nya tinggal ganti jadi myquel seperti ini Nah nanti ya baik lagi seperti di laravel 10 Jadi kalau di larapel 10 ya kita cek di sini in-nya kita cek di sini nah ini kan default-nya DB connection-nya adalah myqul ya Jadi kalau kita lihat di config database Nah jadi dia pakainya yang mql ini Oke misalnya kita mau ganti nih ya ya jadi saya akan coba Bikin database dulu misalnya jadi saya akan masuk ke MySQL Create database belajar laravel 11 misalnya ya Nah show table masih kosong ya kita sekarang akan coba eh tambahkan ke inv-nya ini saya ganti berarti jadi my SQL ya Nah ini DB host-nya eh local host ya atau 127 001 DB port-nya ini lalu database-nya ya Nah lalu Kebetulan saya pakai username-nya root dan memang tidak ada password-nya kalau di laptop saya oke sekarang saya akan coba ya jalankan PHP artisan myrate ya Nah Lihat migration-nya sukses ya Nah berjalan kita akan coba misalnya show table Nah sekarang tabel-tabelnya sekarang ada di database belajar larapel 11 ini jadi simpel banget kalau teman-teman mau ganti lagi ya balik lagi menggunakan myql ya teman-teman tinggal balikkan aja konfigurasinya menjadi ke myql Tapi default-nya saat pertama kali digenerate ya projectnya itu sekarang menjadi database-nya adalah esyite Oke di laravel 11 Exception handler itu juga sekarang lebih sederhana atau Error handlernya itu lebih sederhana jadi di larapel 10 Exception handler Tuh kan disimpannya di F file-nya adalah exceptions handler ya Nah kalau diap 11 sekarang semuanya digabung di application Builder ya yang ada di bootstrap app.php nah cara menambahkan exception-nya itu lebih mudah sekarang jadi kalau teman-teman perhatikan kita lihat yang larapel 10 ya nah ini kalau mau menambahkan Exception ya teman-teman masukkan ke Exception lalu handler di sini jadi teman-teman tinggal masukkan di sini report table dan lain-lain Nah kalau misalnya sekarang dipr 11 itu cukup kita ke file-nya adalah bootstrap app ya Nah di sini di bagian with exception jadi kita masukkan ke objek si Exception ini jadi di Exception ini ya Nah itu teman-teman bisa report table gitu ya atau Don report dan lainlain itu semuanya ada di sini semua jadi kita cukup menggunakan si parameter exceptions ini jadi semuanya terkumpul di satu tempat jadi lebih gampang untuk maintain-nya Nah sekarang kita akan coba misalnya ya Oke misalnya saya akan coba Bikin sebuah Exception namanya adalah validation Exception ya Sorry validation error nah lalu misalnya ya kita akan bikin rad ya SL validation di mana kita akan throw validation error ini kita coba langsung Oke kita akan buat dulu berarti di sini ya jadi PHP artisan make Exception ya validation error misalnya Nah nanti akan disimpan di app Exception validation error jadi di sini app Exception nah validation error nah ini ya sudah ada nah sekarang misalnya kita akan bikin road saya akan e masuk ke Roads ya lalu ke web Nah di sini kita akan bikin road nah ini road-nya adalah get misalnya validation ya lalu kita bikin function balikannya langsung throw aja misalnya throw new validation error ya l di sini errornya misalnya invalid input Nah defaultnya kalau kita tidak e buat Exception hander ya kita coba jalankan PHP artisan serve kita coba ya validation Nah Lihat kita akan keluarnya Ya error seperti ini ya jadi debug page-nya e laravel nah artinya Apa artinya ini tidak tertangkap Nah kita mau tangkap gitu ya menjadi Exception hander-nya kita tangkap lalu kita mau ganti jadi errornya apa gitu ya Nah kita bisa lakukan hal tersebut nah caranya simpel ya teman-teman bisa cek di sini jadi contohnya teman-teman Oke don't report yang validation error misalnya gitu ya Dan kalau dapat validation error Saya mau render seperti ini misalnya jadi respon B request string-nya lalu respon code-nya itu 400 J nanti kalau ada error validation error maka saya mau nampilkan ini Oke kita akan coba Jadi konfigurasinya di aplik Builder Oke jadi kita akan buka application buildernya di e bootstrap app ya ini saya perkecil dulu Nah jadi di sini kita bisa langsung Exception ya kalau teman-teman engak mau report misalnya down report itu boleh misalnya down report validation error gitu ya Nah seperti ini ini silakan nah atau teman-teman mau render sebagai halaman yang berbeda renderable gitu ya E di sini misalnya validation error exceptionnya ya lalu di sini request-nya oke nah Selain itu di sini tinggal kita returnkan respon misalnya ya lalu E responsnya itu misalnya saya mau ada di sini e string balasannya B request dan status cod-nya misalnya 400 karena ini adalah validation error Nah kita bisa lakukan seperti ini Oke kita akan coba sekarang ya Jadi kita akan Coba refresh yang ini Nah lihat yang terjadi adalah keluarnya adalah B request dan http Status cod-nya kalau kita cek ya kita akan cek di network kita refresh lagi ini gak kelihat Oh ya ini all saya coba Refresh dulu nah yang validation dia balikannya adalah 400 B request Nah jadi seperti ini untuk menambahkan Exception handernya atau error handlernya ya jadi lebih gampang kalau misalnya kita gunakan di laravel 11 sekarang kita bahas Once helper method larfel 11 itu menambahkan sebuah Global method ya atau Global function namanya adalah on lalu di sini adalah callbacknya Once gitu ya itu adalah metod yang digunakan untuk mengingat hasil kalkulasi data sebelumnya nah sehingga kalau kita panggil lagi ya dengan callback yang sama maka hasilnya akan mengembalikan nilai sebelumnya tanpa mengulang eksekusi callback function-nya jadi semacam disimpan hasil sebelumnya itu di memori jadi lebih ee ini ya lebih cepat ketika mengakses kedua kalinya nah ini cocok untuk membungkus kode yang sangat berat misalnya ya sehingga tidak perlu lagi Dipanggil berulang-ulang kali karena apa Karena bisa saja menghasilkan datanya yang sama Jadi kalau misalnya kita kirim parameter AB misalnya tapi return-nya selalu sama nah dibanding kita ulang-ulang terus Nah kita akan simpan datanya misalnya di memori php-nya dulu gitu ya jadi ketika kita panggil-panggil beberapa kali itu return return-nya akan return data yang sama Jadi cukup sekali saja jadi ini semacam cash gitu ya tapi bedanya disimpan di memorinya PHP Jadi bukan seperti di redis seperti itu oke contohnya kita akan bikin sebuah kelas namanya n adalah Mat helper nah lalu kita akan bikin sebuah function add ya Static Nah di sini ada parameter A dan parameter B nah lalu saya mau tambahkan dua ini gitu Ya nah tapi saya mau gunakan Once jadi return Once kalau di sini function-nya nah kita pakai variabel A dan variabel B nah lalu kita tambahkan log ya lalu kita returnkan A + B nah ini saya tambahkan log Kenapa karena saya pengin tahu apakah benar ini cuma diakses sekali atau tidak jadi nanti kita akan coba p gitu ya dengan parameter yang sama berkali-kali kalau dipanggilnya cuma sekali berarti memang benar ya tapi kalau dipanggil ternyata lebih dari satu kali berarti gak benar sih function onnya kita langsung prakkkan saja Oke saya akan stop dulu ya larnya kita akan buat PHP artisan make class lalu di sini helers misalnya hel Oke di sudah ada ya E helpers di sini Mat helper Oke kita akan buat di sini ya Static eh function add lalu di sini kita akan buat integer a ya dan integer B return-nya juga integer Oke jadi simpel saya akan gunakan return Once ya Nah seperti ini nah lalu di sini function-nya Nah di mana di sini use a dan juga use B oke di sini sesimpel saya tinggal return a ya ditambah B jadi seperti itu aja ya simpel Ya nah tapi saya tambahkan log ya untuk mengecek Apakah nanti benar ya Ini cuma diakses sekali atau tidak Oke selesai Nah kita akan buat unit testnya ya Jadi kita akan Panggil ini e berkali-kali ya nanti Apakah benar ya cuma dipanggil sekali atau tidak Oke ini contohnya misalnya kita bikin tes menggunakan P ya lalu di sini eh result pertama kita Panggil add ya pakai parameternya 10-10 lalu result kedua juga 1010 jadi parameternya sama ya datanya sama Nah berarti kan di sini expect result 1 itu harus sama dengan result 2 nah tapi kita cek lagi Apakah benar atau tidak ya ini dipanggil cuma sekali aja Oke kita akan coba langsung Oke kita akan buat ya unit test namanya PHP artisan make test di sini eh Mat helper test Oke Mat helper test Oke belum ada file-nya kita cek oh sorryi bukan bukan Ini ya Bukan ee bukan class file harusnya Oke jadi sekarang kita akan coba di sini kita akan buat di result 1 ya nah sama dengan kita Panggil Mat helper add lalu 10,10 lalu result 2 juga sama kalau teman-teman mau result 3 silakan gitu ya Nah lalu kita expect kalau result 1 itu harus 20 ya result 2 juga sama harus 20 result 3 juga sama harus 20 juga nah jadi kita bisa lakukan seperti ini Oke kita akan coba running ya kita lihat hasilnya sukses ya Nah kita cek log-nya Apakah keluar sekali atau tiga kali kita akan buka di storage laravel log kita lihat ke bagian bawah nah lihat ini cuma sekali aja munculnya artinya Apa artinya memang kode yang di dalam e add tersebut karena kita bungkus menggunakan Once maka dia cuma dipanggil sekali kalau parameternya sama Nah jadi kalau parameternya beda baru nanti dia dipanggil lagi kita coba ya kalau parameternya beda jadi ini contohnya result yang ketiga itu eh 11 ya Jadi ini kan harusnya 21 ya kita coba running sukses kita lihat larav log-nya nah lihat yang pertama adalah 10 dan yang kedua adalah yang 10 dan 11 jadi yang 10-nya ini Ini cuma dipanggil satu kali aja berarti sudah benar ya Jadi kalau parameternya sama maka dia dipanggil satu kali jadi ini adalah metode yang sederhana sebenarnya Tapi sangat berguna ya jadi contohnya teman-teman ketika manggil sebuah function eh ngambil datanya dari database ternyata berat gitu ya dibanding setiap kita manggil gitu ya di kode yang sama berkali-kali kita query ulang nah teman-teman bisa bungkus dalam Once jadi cuma sekali aja dipanggilnya Oke sekarang kita bahas tentang model cas ya di larapel 11 atribut casting ya adalah fitur di eloent untuk melakukan konversi tipe data secara otomatis dari tipe data yang ada di database ya dengan tipe data yang ada di php nah ketika kita gunakan larapel 10 default-nya akan menggunakan atribut cash ya jadi e atributnya adalah cash ya Nah lalu teman-teman tinggal Tentukan dari misalnya eh atribut mana tipe datanya apa seperti itu di modelnya Nah tapi di larapel 11 itu sekarang diubah jadi tidak lagi menggunakan atribut nah dia menjadi function cas n namanya Nah jadi sebenarnya ini ee perubahannya cukup tinggal teman-teman ganti yang tadinya atribut teman-teman ganti jadi function jadi teman-teman tinggal bikin kalau teman-teman butuh cash ya biasanya kan langsung atribut cash sama dengan ya isinya seperti ini gitu ya array seperti ini ini nama field-nya nama kolomnya nah ini adalah tipe datanya Nah atau kalau teman-teman misalnya di larapel 11 itu teman-teman pindahkan ke function yang namanya cas jadi function cas ini nanti returnnya isinya sama aja jadi itu perbedaannya ya Jadi ini ee mungkin yang harus teman-teman ganti ketika teman-teman Nanti pindah ya dari laravel 10 ke laravel 11 kalau teman-teman e menambahkan atribut cash-nya di eh modelnya jadi di model eloentnya tapi kalau teman-teman tidak tambahkan ya teman-teman tidak perlu tambahkan seperti ini Jadi ini memang kasus kalau teman-teman nambahin teman-teman harus ganti ke function jadi ini adalah salah satu fitur yang eh nge-break ya tidak backward compatiable jadi teman-teman harus pindah kan ke function Oke jadi kita sudah bahas ya hampir semua fitur-fitur yang ada di larapel 11 nah sekarang pertanyaannya gimana kalau kita sudah punya project dan menggunakan larapel 10 nah kita akan coba bahas ya sekarang langsung praktiikkkan saja kita akan coba upgrade ya aplikasi yang sudah kita buat menggunakan laravel 10 kita coba upgrade ke laravel 11 Oke Jadi sebelumnya kita sudah pernah praktik ya bikin restful ap di eh kelas laravel nah di sana kita menggunakan laravel 10 nah kita akan coba upgrade ya dari laravel 10 yang sebelumnya kita sudah buat itu ke laravel 11 nah teman-teman yang belum punya projectnya teman-teman bisa buka di github ini ya Jadi ini adalah projectnya ini menggunakan larapel 10 Kalau teman-teman buka di komposer json-nya ya Nah ini larfel-nya dia menggunakan larapel 10 ya Ya kita lihat di sini laravel framework-nya adalah laravel 10 nah kita akan coba ya upgrade Nah untuk panduan upgrade-nya ini sudah diberitahu di halaman dokumentasi laravel-nya jadi kita akan lebih mudah sebenarnya untuk upgrade-nya jadi di sini jadi diberiahu di sini gitu ya library apa aja yang perlu teman-teman ubah Jadi kalau teman-teman pakai e laravel/ Framework ya teman-teman ganti ke versi 11 colalis ganti ke ke versi ini dan seterusnya Nah kita akan coba langsung praktiikkkan nah jadi ini saya sudah buat ya di e lokal ee ini untuk Project yang sebelumnya sudah kita buat belajar laravel respol api nah ini kalau kita buka komposer json-nya ini dia masih menggunakan ini ya laravel framework-nya yang 10 nah kita akan coba ganti ya Oke kita akan coba ganti ya dimulai dari yang pertama itu laravel Framework harus diganti ke versi 11 ini saya akan copy laravel Framework berarti ini diganti ke versi 11 seperti ini ya Nah selanjutnya kita cek ada ee Collision ya Apakah ada di sini nah ada Collision nah ini teman-teman ganti ke versi 81 nah seperti ini nah lalu kita cek lagi misalnya di sini e Lara Fel briis kalau ada gitu ya Nah kita cek nah kebetulan tidak ada Saya tidak menggunakannya eh casir juga kita cek nah saya juga tidak menggunakan lalu Dusk ya kita cek tidak ada lalu jetstam tidak ada juga lalu passport tidak ada stum nah ada di sini kita upgrade ya versinya ke versi 40 Oke kita cek lagi Eh Spark stripe tidak ada lalu teleskop tidak ada juga lalu ini inertia laravel ini juga tidak ada nah jadi kita bisa cukup lakukan seperti itu Nah selanjutnya gitu ya Nah ini teman-teman bisa baca kalau pakai laravel e kasir passport ya STM gitu ya dan lain-lain nah sebenarnya untuk eh application structure dibilang di sini gitu ya laravel 11 itu introduce a new default application structure ya jadi eh memperkenalkan ya struktur yang berbeda sebenarnya dari larapel 10 Ya nah tapi gitu ya larapel itu dia tetap e tidak rekomendasikan kalau teman-teman sudah bikin pakai larapel 10 struktur foldernya diubah jadi tidak direkomendasikan Biarkan aja apa adanya Kenapa karena larapel 11 gitu ya Itu sudah dengan hati-hati gitu ya di tuning agar support package e Sori support struktur foldernya dari larfel 10 jadi teman-teman enggak perlu khawatir nah Lalu ada hal-hal lain ya kalau teman-teman gunakan contohnya kalau teman-teman pakai hashing gitu ya Nah atau user provider dan lain-lain teman-teman Tinggal ubah di sini ya Nah ada beberapa hal sebenarnya E yang bisa kita lakukan contohnya user provider gitu ya E kita enggak pakai user provider authentic cable Nah kita pakai sepertinya ya Nah di sini di authentic cable dibilang Eh sekarang harus bikin function ini ya eh get out ord name Oke saya akan coba copy nah kebetulan ya di dalam app model user ya di sini nah ini dia implement authenticable jadi di sini kita akan tambahkan yang tadi Nah get out password name seperti itu Oke selanjutnya ini cash Saya tidak pakai collection enggak database cash Kebetulan saya tidak pakai ya jadi kita enggak coba kita lihat di semua model enggak ada cash ya di kontak juga enggak ada cash ini juga enggak ada kalau ada cash teman-teman pindahkan jadi function ya modify colum ini juga enggak seperi yang lainnya saya enggak pakai ya floting point dedicated mariadb driver enggak pakai Mari DB spatial saya enggak pakai ini doctrin DB remove ini yang diemove ya tapi kita enggak pakai DB eh dbal ya dari deprcated ini Eh Des mail Kita enggak pakai juga red limiting juga enggak pakai dan cashier strap juga enggak pakai Spark gak enggak pakai passport juga enggak pakai Nah untuk stum di sini saya enggak enggak pakai sih ya untuk stom-nya teleskop juga enggak Nah sepertinya sih udah cukup sih Nah sekarang kita coba upgrade dulu ya jadi saya akan eh gunakan komposer update Oke sepertinya sudah selesai ya Coba kita cek laravel Framework ya UD jadi 11 Ya udah benar sudah selesai Nah untuk memastikan Apakah jalan atau tidak saya akan coba gunakan PHP artisan serve tidak ada error Nah jadi kita pastikan tidak ada error ya kalau ada error berarti kita masih gagal Oke kita akan coba sekarang Eh buka di browsernya ya Nah ini tampilannya memang tampilan larapel 10 ya karena template-nya pakai larapel 10 nah tapi kita bisa lihat di bagian bawah nah ini sekarang laravelnya udah laravel versi 1107 Artinya kita sudah pakai versi laravel 11 nah tapi untuk kemasikan ya kita akan coba jalankan unit testnya Apakah sukses atau gagal ini saya akan stop dulu Nah jadi pastikan unit testnya itu sukses di sini ya nah jadi semua unites-nya sukses ya Nah kita akan coba di sini eh vendor bin PHP unit kita coba running Nah ada yang error sepertinya ya unknown database tarfel Oke nama database-nya berarti belum diubah di sini nah ini ya in-nya ini belum diubah karena kita berarti belum buat ya Oh ya kita belum migrate juga ya di sini saya akan coba ganti eh belajar laravel 11 upgrade nah ini saya copy ini E saya akan komen Oke kita akan buat dulu di sini Create database use nah nah selesai kita akan coba migrate ya PHP artisan migrate sukses Nah sekarang kita coba running lagi unitestnya sukses semua ya artinya memang sudah enggak ada masalah jadi simpel banget ya untuk upgrade dari laravel 10 ke laravel 11 jadi memang sudah dijamin kalau strukturnya itu memang ee walaupun tidak di dirubah ya seperti struktur dari laravel 11 tapi tetap kita bisa jalankan di versi laravel 11 nah jadi seperti ini ya cara upgrade-nya jadi ini Real cas-nya untuk upgrade ya dari aplikasi yang sebelumnya sudah kita buat ya yaitu restful api dari yang versi 10 ke versi 11