<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: محمد يزيد الصبري</title>
    <description>The latest articles on DEV Community by محمد يزيد الصبري (@__4ldyfwkymhmd).</description>
    <link>https://dev.to/__4ldyfwkymhmd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2147212%2F5ea21cc4-27b4-41b7-b4f4-6241e0eec263.jpg</url>
      <title>DEV Community: محمد يزيد الصبري</title>
      <link>https://dev.to/__4ldyfwkymhmd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/__4ldyfwkymhmd"/>
    <language>en</language>
    <item>
      <title>🪐 Flutter Widgets = The Building Blocks of Your App's Universe and Beyond ~</title>
      <dc:creator>محمد يزيد الصبري</dc:creator>
      <pubDate>Tue, 18 Feb 2025 10:24:56 +0000</pubDate>
      <link>https://dev.to/__4ldyfwkymhmd/flutter-widgets-the-building-blocks-of-your-apps-universe-and-beyond--3gno</link>
      <guid>https://dev.to/__4ldyfwkymhmd/flutter-widgets-the-building-blocks-of-your-apps-universe-and-beyond--3gno</guid>
      <description>&lt;p&gt;Bismillaah..&lt;/p&gt;

&lt;p&gt;Okay, Kembali Lagi Dengan Saya.. Kali Ini Kita Mau Bahas Dasar-dasar Widget Di Flutter!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mengenal Widget Di Flutter: Pondasi Penting Untuk Membuat Aplikasi Mobile Keren&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Flutter, Sebuah "Alat Ajaib" Dari Google Atau Yang Kita Sebut Dengan Framework, Lagi Ngetren Banget Di Kalangan Pembuat Aplikasi Mobile Untuk Saat Ini.. Kenapa Ya? Ya Mungkin Karena Flutter Bikin Proses Pembuatan Aplikasi Jadi Lebih Mudah Dan Cepat! Nah,.. Salah Satu Kunci Penting Yang Wajib Kalian Tahu Di Flutter Adalah "Widget"..&lt;/p&gt;

&lt;p&gt;Anggap Aja Widget Itu Kayak "Bahan Bangunan" Atau Realitanya Seperti "Bahan Melukis" Kalian Untuk Bikin "Lukisan Yang Indah" Di Sini Kita Katakan Sebagai Tampilan Aplikasi.. Mulai Dari Tombol, Tulisan, Gambar, Sampai Tata Letak Keseluruhan, Semuanya Dibentuk Pakai Widget! Yeah, You Got It!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apa Sih Widget Itu?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gampangnya, Widget Itu Adalah Representasi Atau Sesuatu Yang Mewakili Pembuatan Visual Dari Setiap Elemen Yang Ada Di Aplikasi Flutter Kalian..&lt;/p&gt;

&lt;p&gt;Setiap Hal Yang Kalian Liat Di Layar, Entah Itu Tombol "Login", Tulisan "Welcome/Selamat Datang", Atau Gambar Logo Aplikasi, Semuanya Adalah Widget!&lt;/p&gt;

&lt;p&gt;Widget Ini Sifatnya "Deklaratif" Ya, Maksudnya Kalian Cukup Jelasin Aja Mau Seperti Apa Tampilan Dan Kelakuan Widget Itu, Dan Flutter Yang Akan Urus Sisanya. Keren, Kan?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jenis-jenis Widget Di Flutter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Flutter Punya Banyak Banget Jenis Widget Yang Bisa Kalian Pakai Untuk Membangun Tampilan Aplikasi Yang Keren Dan Interaktif. Secara Umum, Widget-widget Ini Bisa Dikelompokkan Jadi Beberapa Kategori Loh.. Seperti:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Widget Teks&lt;/strong&gt;: Nah, Ini Dia Widget Yang Paling Sering Dipakai Untuk Menampilkan Tulisan Di Layar.. Contohnya Adalah Widget &lt;code&gt;Text&lt;/code&gt;..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Widget Gambar&lt;/strong&gt;: Kalau Mau Nampilin Gambar, Pakainya Widget &lt;code&gt;Image&lt;/code&gt;. Gampang Banget, Kan?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Widget Tata Letak&lt;/strong&gt;: Widget Ini Berguna Untuk Mengatur Posisi Dan Ukuran Widget-widget Lainnya. Contohnya Adalah &lt;code&gt;Row&lt;/code&gt; (Untuk Mengatur Widget Secara Horizontal), &lt;code&gt;Column&lt;/code&gt; (Untuk Vertikal), Dan &lt;code&gt;Stack&lt;/code&gt; (Untuk Menumpuk Widget).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Widget Interaktif&lt;/strong&gt;: Widget Ini Memungkinkan Pengguna Berinteraksi Dengan Aplikasi. Contohnya Adalah &lt;code&gt;ElevatedButton&lt;/code&gt; (untuk Bikin Tombol) Dan &lt;code&gt;TextField&lt;/code&gt; (Untuk Input Teks).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Widget Scaffold&lt;/strong&gt;: Widget Ini Adalah "Kerangka Dasar" untuk Membangun Tata Letak Aplikasi, Bagaikan Kanvas Kalian. Di Dalamnya Ada &lt;code&gt;AppBar&lt;/code&gt; (Untuk Bagian Atas Aplikasi), &lt;code&gt;Drawer&lt;/code&gt; (Untuk Menu Samping), Dan &lt;code&gt;BottomNavigationBar&lt;/code&gt; (Untuk Navigasi Di Bagian Bawah).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yuk, Sekarang Saatnya Coba Pakai Widget!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Biar Lebih Jelas, Coba Lihat Contoh Sederhana Penggunaan Beberapa Widget Di Flutter Di Bawah Ini Ya:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:flutter/material.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;runApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MyApp&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MyApp&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;StatelessWidget&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="n"&gt;Widget&lt;/span&gt; &lt;span class="n"&gt;build&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BuildContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;MaterialApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;home:&lt;/span&gt; &lt;span class="n"&gt;Scaffold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nl"&gt;appBar:&lt;/span&gt; &lt;span class="n"&gt;AppBar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Contoh Widget'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="nl"&gt;body:&lt;/span&gt; &lt;span class="n"&gt;Center&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Column&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="nl"&gt;mainAxisAlignment:&lt;/span&gt; &lt;span class="n"&gt;MainAxisAlignment&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;center&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;children:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
              &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Halo Dunia!'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
              &lt;span class="n"&gt;SizedBox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;height:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
              &lt;span class="n"&gt;ElevatedButton&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="nl"&gt;onPressed:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                  &lt;span class="c1"&gt;// Aksi Yang Akan Dijalankan Ketika Tombol Ditekan&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Tekan Saya'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
              &lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
          &lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Di Contoh Ini, Kita Pakai Widget &lt;code&gt;MaterialApp&lt;/code&gt; Sebagai "Rumah" Dari Aplikasi Kita. Di Dalamnya Ada Widget &lt;code&gt;Scaffold&lt;/code&gt; Yang Berisi &lt;code&gt;AppBar&lt;/code&gt; Dan &lt;code&gt;Column&lt;/code&gt;. Widget &lt;code&gt;Column&lt;/code&gt; Digunakan Untuk Mengatur Posisi Widget &lt;code&gt;Text&lt;/code&gt; Dan &lt;code&gt;ElevatedButton&lt;/code&gt; Secara Vertikal Di Tengah Layar..&lt;/p&gt;

&lt;p&gt;Okay, Jadi Saya Rasa Cukup Ya Untuk Penjelasan Singkat Tentang Dasar-dasar Widget Of Flutter Di Artikel Kali Ini.. Semoga Dapat Dipahami Dan Semangat Bereksperimen! See U In The Next Time!!&lt;/p&gt;

&lt;p&gt;Wassalaam..&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>android</category>
      <category>ui</category>
    </item>
    <item>
      <title>🛋️ Folder Structure Of Laravel &amp; Its Lightweight! Worthy To Know~</title>
      <dc:creator>محمد يزيد الصبري</dc:creator>
      <pubDate>Tue, 15 Oct 2024 05:41:38 +0000</pubDate>
      <link>https://dev.to/__4ldyfwkymhmd/folder-structure-of-laravel-its-lightweight-worthy-to-know-5066</link>
      <guid>https://dev.to/__4ldyfwkymhmd/folder-structure-of-laravel-its-lightweight-worthy-to-know-5066</guid>
      <description>&lt;p&gt;Bismillaah..&lt;/p&gt;

&lt;p&gt;Okay.. Ini akan menjadi tulisan keempat saya mengenai laravel..&lt;/p&gt;

&lt;p&gt;Kita singkat saja ya untuk sekedar gambaran..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Laravel's Folder Structure&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What's It? Struktur Folder Laravel itu seperti template rancangan seorang arsitek, yang menyediakan suatu konsep yang jelas dan terorganisir untuk membangun suatu bangunan.. Jadi kita hanya perlu custom tampilan saja nantinya.. kita ngga perlu pusing-pusing menentukan codingan untuk membangun suatu web atau aplikasi, karena Laravel sudah merancang Strukturnya dan mengorganisir dalam susunan Folder.&lt;/p&gt;

&lt;p&gt;Folder utama dalam proyek Laravel terdiri dari:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;app&lt;/code&gt;, &lt;code&gt;config&lt;/code&gt;, &lt;code&gt;database&lt;/code&gt;, &lt;code&gt;public&lt;/code&gt;, &lt;code&gt;resources&lt;/code&gt;, &lt;code&gt;routes&lt;/code&gt;, &lt;code&gt;storage&lt;/code&gt;, &lt;code&gt;tests&lt;/code&gt;, dan &lt;code&gt;vendor&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;app&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini berisi logika inti aplikasi kita.. termasuk subfolder seperti &lt;code&gt;console&lt;/code&gt;, &lt;code&gt;Exceptions&lt;/code&gt;, &lt;code&gt;Http&lt;/code&gt;, &lt;code&gt;Models&lt;/code&gt;, &lt;code&gt;Peoviders&lt;/code&gt;, dan &lt;code&gt;services&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;config&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini berisi konfigurasi untuk aplikasi kita. File-file ini mendefinisikan pengaturan.. seperti koneksi database, pengaturan mail, dan cache.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;database&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini berisikan file migrasi database dan seed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;public&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini bisa dikatakan sebagai root dokumen aplikasi kita.. yang berisi file &lt;code&gt;index.php&lt;/code&gt;, yang merupakan titik masuk aplikasi kita.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;resoures&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini berisi aset seperti file CSS, JavaScript, serta gambar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;routes&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini bisa dianggap sebagai definisi rute untuk aplikasi kita.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;storage&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Folder ini berisikan file yang diunggah oleh user, serta file yang di-cache.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;tests&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kalau folder ini berisi unit test dan feature test untuk aplikasi kita.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder &lt;code&gt;vendor&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yang terkahir, Folder ini berisi paket pihak ketiga yang diinstal melalui Composer.&lt;/p&gt;

&lt;p&gt;Faham kan ya? Ini untuk gambaran saja, kalian bisa latihan dan eksplor lebih setelah ini..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Laravel Breeze&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Keren ya namanya? Hihi.. Laravel Breeze ini itu scaffolding autentikasi ringan yang disertai dengan Laravel.. ngerti lah ya bahasa Jaksel nih..&lt;/p&gt;

&lt;p&gt;Jadi Laravel Breeze menyediakan sistem autentikasi yang sederhana dan mudah digunakan.. mencakup fitur seperti login, reset password, dan verifikasi email.. just one word: &lt;strong&gt;Awesome!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Okay, Saya akan kasih sedikit gambaran cara menggunakan Laravel Breeze;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Langkah awal: Install Laravel Breeze&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kalian bisa jalankan seperti berikut ya di terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;composer&lt;/span&gt; &lt;span class="k"&gt;require&lt;/span&gt; &lt;span class="n"&gt;laravel&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;breeze&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ingat ya belakangnya tambahkan &lt;code&gt;--dev&lt;/code&gt; persis seperti platform kece yang kita singgahi ini, xixi..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Langkah kedua: Tetap Jalani Hidup Ini..&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Eh bukan, well.. maksudnya jalankan perintah instalasi.. biar ngga Gyatt.. aduh tercemar oleh gen alpha! Help me..&lt;/p&gt;

&lt;p&gt;Okay, jalankan seperti berikut ya:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;breeze&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah ketiga: Kita Ngonfig, Well~&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Maaf ya atas yapping saya.. langkah selanjutnya kalian bisa setel nilai &lt;code&gt;defaults.guard&lt;/code&gt; ke &lt;code&gt;web&lt;/code&gt; di file &lt;code&gt;config/auth.php&lt;/code&gt; kek gini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="s1"&gt;'defaults.guard'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'guard'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'web'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s1"&gt;'passwords'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'users'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Habis itu tinggal di migrate ya, well:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah kelima: Turu!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Eits! Jangan ya dek ya..&lt;/p&gt;

&lt;p&gt;Setelah berhasil menggunakan Laravel Breeze untuk autentikasi user di aplikasi kita.. &lt;/p&gt;

&lt;p&gt;Kita bisa gunakan facade &lt;code&gt;auth&lt;/code&gt; untuk autentikasi user, dan facade &lt;code&gt;Route&lt;/code&gt; untuk definisiin rute buat login, registrasi dan reset passwordnya.. contohnya kek gini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facade\Auth&lt;/span&gt;

&lt;span class="c1"&gt;//Login&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/login'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\LoginController@showLoginForm'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;→&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'login'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/login'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\LoginController@login'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Register &lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/register'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\RegisterController@showRegistrationForm'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;→&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'register'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/register'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\RegisterController@register'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Password Reset&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/password/reset'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\ForgotPasswordController@showLinkRequestForm'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;→&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'password.request'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/password/email'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\ForgotPasswordController@sendResetLinkEmail'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;→&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'password.email'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/password/reset/{token}'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\ResetPasswordController@showResetForm'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;→&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'password.reset'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/password/reset'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Auth\ResetPasswordController@reset'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;→&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'password.update'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Okay, itu saja untuk kali ini.. kita berhasil menginstal dan mengkonfigurasi Laravel Breeze di aplikasi Laravel kita, well.. Gyatt! See yuh in the next one adn CMIIW!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>beginners</category>
      <category>indonesia</category>
    </item>
    <item>
      <title>🌠 Mengenal Singkat: Migration, Query Builder, Dan Eloquent Di Laravel</title>
      <dc:creator>محمد يزيد الصبري</dc:creator>
      <pubDate>Thu, 03 Oct 2024 11:29:50 +0000</pubDate>
      <link>https://dev.to/__4ldyfwkymhmd/mengenal-singkat-migration-queir-builder-dan-eloquent-di-laravel-3el5</link>
      <guid>https://dev.to/__4ldyfwkymhmd/mengenal-singkat-migration-queir-builder-dan-eloquent-di-laravel-3el5</guid>
      <description>&lt;p&gt;Bismillaah..&lt;/p&gt;

&lt;p&gt;Okay, ini artikel ketiga saya lanjutan untuk yang kemarin ya.. bedanya kita akan mengenal staff² lain di Laravel.&lt;/p&gt;

&lt;p&gt;1 - &lt;strong&gt;Migration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Migration bisa dibilang seperti tukang pembuat desain tata letak restoran. Kita mengajukan saran di mana meja akan ditempatkan, jenis kursi yang akan digunakan, dan bagaimana dekorasi ruangan itu seperti yang kita mau.&lt;/p&gt;

&lt;p&gt;Di Laravel, Migration digunakan untuk membuat struktur Database (table, column, field).&lt;/p&gt;

&lt;p&gt;Perintah yang kita gunakan seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;
&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;make&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;migration&lt;/span&gt; &lt;span class="n"&gt;create_posts_table&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Perintah ini diajukan di Terminal ya..&lt;/p&gt;

&lt;p&gt;Dan setelah pengajuan itu, kita bisa konfirmasi dengan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kalau terjadi error atau kesalahan pada pengajuan, bisa kita tarik kembali dengan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;migrate&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;rollback&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kita bisa melakukan pengajuan ulang setelah itu. That's easy, right?&lt;/p&gt;

&lt;p&gt;2 - &lt;strong&gt;Query Builder&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ia seperti pemberi instruksi kepada koki untuk mengambil bahan-bahan tertentu dari kulkas. Kita bisa memberi instruksi yang sangat spesifik, misalnya "ambil semua bahan untuk membuat pizza margherita".&lt;/p&gt;

&lt;p&gt;Atau bisa juga memberi instruksi untuk menaruh bahan-bahan tertentu ke dalam rak-rak kulkas agar lebih mudah dicari saat dibutuhkan.&lt;/p&gt;

&lt;p&gt;Di Laravel, Query Builder digunakan untuk membuat query SQL secara manual untuk berinteraksi dengan Database. &lt;/p&gt;

&lt;p&gt;Ada beberapa instruksi untuk Query Builder, tapi di sini saya akan kasih permisalan untuk Pagination of Query Builder.&lt;/p&gt;

&lt;p&gt;Pagination membagi data menjadi beberapa halaman yang lebih kecil, agar kita dapat menavigasi data jadi lebih mudah.&lt;/p&gt;

&lt;p&gt;Parameternya kurang lebih seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="no"&gt;Illuminate\Support\Facades\DB&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$posts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'posts'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;orderBy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'created_at'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'desc'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;paginate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'posts.index'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;compact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'posts'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kesimpulannya ialah Pagination itu cukup penting ya dalam pengembangan aplikasi web, terutama kalau kita berhadapan dengan data yang banyak.&lt;/p&gt;

&lt;p&gt;3 - &lt;strong&gt;Eloquent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bisa dibilang kayak seorang asisten koki yang sangat berpengalaman. &lt;/p&gt;

&lt;p&gt;Dia tahu persis di mana semua bahan disimpan dan bagaimana mengolahnya menjadi hidangan yang lezat. &lt;/p&gt;

&lt;p&gt;Eloquent itu ORM (Object-Relational Mapper) yang memungkinkan kita berinteraksi sama database menggunakan sintaks yang lebih sederhana dan berorientasi objek. Hope this not that difficult to understand..&lt;/p&gt;

&lt;p&gt;Gini, saat kita mau Model yang dapat garansi CRUD dengan perintah:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;php&lt;/span&gt; &lt;span class="n"&gt;artisan&lt;/span&gt; &lt;span class="n"&gt;make&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="nc"&gt;Post&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Maka Eloquent akan mengambil alih untuk membuat pesanan kita itu sesuai apa yang kita mau.&lt;/p&gt;

&lt;p&gt;Dan untuk dapat berinteraksi sama Eloquent, kita harus menggunakan Methods tertentu seperti &lt;code&gt;all&lt;/code&gt;, &lt;code&gt;paginate&lt;/code&gt;, &lt;code&gt;find&lt;/code&gt;, &lt;code&gt;first&lt;/code&gt;, &lt;code&gt;count&lt;/code&gt;, &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, dan &lt;code&gt;delete&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Contohnya kita ingin satu order kita di-cancel, maka bisa mengajukan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$post&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Post&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Okay, jadi gitu aja pembahasan kita kali ini.. hope this helps.. and see yuh in the next one 😉 &lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🏪 Mengenal Laravel Staff: Request, Response, Views, And Validation</title>
      <dc:creator>محمد يزيد الصبري</dc:creator>
      <pubDate>Wed, 02 Oct 2024 12:18:33 +0000</pubDate>
      <link>https://dev.to/__4ldyfwkymhmd/mengenal-laravel-staff-request-response-views-and-validation-1j0n</link>
      <guid>https://dev.to/__4ldyfwkymhmd/mengenal-laravel-staff-request-response-views-and-validation-1j0n</guid>
      <description>&lt;p&gt;Bismillaah..&lt;/p&gt;

&lt;p&gt;Artikel ini akan menjadi tulisan kedua, masih seputar Laravel ya..&lt;/p&gt;

&lt;p&gt;1 - &lt;strong&gt;Request (Permintaan)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Saat kita memesan makanan, kita pasti memberikan "permintaan" kepada pelayan. Permintaan ini bisa berupa nama makanan, minuman, tingkat kematangan, dan sebagainya. &lt;/p&gt;

&lt;p&gt;Dalam Laravel, "Request" ini tuh data yang kita kirimkan dari browser ke server, misalnya melalui formulir atau URL.&lt;/p&gt;

&lt;p&gt;Contoh visualisasinya seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Http\Controllers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Http\Request&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;UserController&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Controller&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="cd"&gt;/**
     * Store a new user.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nv"&gt;$name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'pastry'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="c1"&gt;//&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Singkatnya tuh:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Class &lt;code&gt;use Illuminate\Http\Request;&lt;/code&gt; itu bagaikan waiter, yang memberikan kita method &lt;code&gt;store&lt;/code&gt; yang bagaikan kertas untuk menulis menu yang kita ingin pesan,&lt;/li&gt;
&lt;li&gt;Namun, konsepnya kita harus menulis parameter Request &lt;code&gt;$request&lt;/code&gt; agar pesanan kita dapat dibaca oleh pihak dapur.&lt;/li&gt;
&lt;li&gt;Request menawarkan beberapa contoh yang kita inginkan untuk makanan kita itu seperti apa, diantaranya: ada &lt;code&gt;input&lt;/code&gt;, &lt;code&gt;only&lt;/code&gt;, &lt;code&gt;except&lt;/code&gt;, &lt;code&gt;cookie&lt;/code&gt;, &lt;code&gt;date&lt;/code&gt;, atau bisa juga &lt;code&gt;all&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2 - &lt;strong&gt;Response (Tanggapan)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Setelah pelayan menerima pesanan kita, dia akan membawa pesanan itu ke dapur dan kemudian kembali dengan makanan yang sudah siap. Makanan yang kamu terima bisa dibilang sebagai "Response" dari dapur.&lt;/p&gt;

&lt;p&gt;Di Laravel, "Response" ini itu halaman web yang dikirimkan kembali ke browser kita setelah server memproses Request kita.&lt;/p&gt;

&lt;p&gt;Di samping itu, kita tentu tau kalau makanan yang datang ke kita akan di-serve dengan berbagai cara kan? Begitulah gambaran "Response" ini, dia bisa berupa &lt;code&gt;RedirectResponse&lt;/code&gt;, &lt;code&gt;JSONResponse&lt;/code&gt;, dan &lt;code&gt;DownloadResponse&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Contoh visualisasi sederhananya seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s1"&gt;'Croissant'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3 - &lt;strong&gt;View (Tampilan)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Menu makanan yang kita lihat di restoran itu seperti "View" dalam Laravel. View adalah template yang digunakan untuk menampilkan data. &lt;/p&gt;

&lt;p&gt;Dalam contoh makanan, menu itu template yang menunjukkan berbagai pilihan makanan yang bisa kita pesan.&lt;/p&gt;

&lt;p&gt;Dibalik "View", pemilik restoran set parameternya, misal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'home'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Cest Laravello Restaurant'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ia juga set pada LED Box &lt;code&gt;resourses\views\home.blade.php&lt;/code&gt; Misal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Bonjour, {{ $name }}&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4 - &lt;strong&gt;Validation (Validasi)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sebelum pesanan kita diproses, pelayan akan memeriksa apakah pesanan kita itu valid atau tidak. &lt;/p&gt;

&lt;p&gt;Misalnya, apakah makanan yang kita pesan ada di menu atau apakah kita memesan terlalu banyak makanan. &lt;/p&gt;

&lt;p&gt;Dalam Laravel, "Validation" digunakan untuk memeriksa apakah data yang kita kirimkan memenuhi syarat tertentu, seperti apakah email yang kita masukkan valid atau apakah password yang kita masukkan itu cukup kuat. &lt;/p&gt;

&lt;p&gt;Pada Laravel untuk Validation, kita menggunakan Trait &lt;code&gt;ValidateRequest&lt;/code&gt; bisa dibilang sebagai SOP restoran.&lt;/p&gt;

&lt;p&gt;Permisalannya kek gini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="s1"&gt;'dish'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|unique:posts|max:255'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'dessert'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="c1"&gt;// The order post is valid...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Okay, That's All.. sekian pembahasan kita kali ini.. see yuh in the next one!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🗺️ Peta Jalan Laravel: Menjelajah Routing, Middleware, dan Controller (Indonesian Version)</title>
      <dc:creator>محمد يزيد الصبري</dc:creator>
      <pubDate>Tue, 01 Oct 2024 10:40:36 +0000</pubDate>
      <link>https://dev.to/__4ldyfwkymhmd/peta-jalan-laravel-menjelajah-routing-middleware-dan-controller-indonesian-version-3f20</link>
      <guid>https://dev.to/__4ldyfwkymhmd/peta-jalan-laravel-menjelajah-routing-middleware-dan-controller-indonesian-version-3f20</guid>
      <description>&lt;p&gt;Bismillaahirrahmaanirrahiim.&lt;/p&gt;

&lt;p&gt;Pernahkah kamu penasaran bagaimana sebuah website bisa menampilkan halaman yang berbeda-beda ketika kita mengeklik link yang berbeda? Atau bagaimana sebuah aplikasi web bisa melindungi data pengguna? &lt;/p&gt;

&lt;p&gt;Jawaban dari pertanyaan-pertanyaan tersebut terletak pada pemahaman tentang routing, middleware, dan controller di Laravel. &lt;/p&gt;

&lt;p&gt;Pada artikel pertama saya ini, kita akan membahas secara dasar mengenai tiga komponen penting ini insyaa'allaah.&lt;/p&gt;

&lt;p&gt;Saya menulis artikel ini pun tidak lepas dari bimbingan mentor saya, yang sedang membantu kami dalam memahami konsep-konsep yang rumit. Jazaahullaahu Khairan.&lt;/p&gt;

&lt;p&gt;Dan berikut contoh struktur foldernya:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;resources&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="n"&gt;views&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;│&lt;/span&gt;   &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="n"&gt;tentang&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;kami&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blade&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;
&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nc"&gt;Http&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;│&lt;/span&gt;   &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nc"&gt;Controllers&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;│&lt;/span&gt;   &lt;span class="err"&gt;│&lt;/span&gt;   &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="nc"&gt;TentangKamiController&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;
&lt;span class="err"&gt;│&lt;/span&gt;   &lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nc"&gt;Middleware&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;│&lt;/span&gt;       &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="nc"&gt;AdminMiddleware&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;
&lt;span class="err"&gt;├──&lt;/span&gt; &lt;span class="nc"&gt;Models&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;│&lt;/span&gt;   &lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;
&lt;span class="n"&gt;routes&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
&lt;span class="err"&gt;└──&lt;/span&gt; &lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Okay, mari kita langsung bedah satu per satu!&lt;/p&gt;

&lt;p&gt;1 - &lt;strong&gt;Routing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ini seperti alamat rumah. Saat kamu memasukkan alamat suatu rumah ke dalam aplikasi peta (misalnya), aplikasi akan menunjuk ke rumah yang tepat. &lt;/p&gt;

&lt;p&gt;Di Laravel, routing menentukan halaman mana yang akan ditampilkan ketika pengguna mengetikkan alamat web (URL) tertentu. &lt;/p&gt;

&lt;p&gt;Misalnya, ketika kamu mengetikkan &lt;/p&gt;




&lt;p&gt;&lt;a href="https://example.com/tentang-kami" rel="noopener noreferrer"&gt;https://example.com/tentang-kami&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Maka routing akan mengarahkanmu ke halaman "Tentang Kami".&lt;/p&gt;

&lt;p&gt;Untuk membuat routing di Laravel, kita akan menggunakan file &lt;code&gt;routes/web.php&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Di dalam file ini, kita akan mendefinisikan rute yang menghubungkan URL dengan controller yang akan memproses permintaan tersebut. Sebagai Contoh:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Http\Controllers\TentangKamiController&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/tentang-kami'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;TentangKamiController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'index'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'tentang-kami'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Route::get()&lt;/code&gt;: Metode ini digunakan untuk mendefinisikan rute yang hanya bisa diakses melalui metode HTTP GET.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/tentang-kami&lt;/code&gt;: Ini adalah URL yang akan kita gunakan untuk mengakses halaman "Tentang Kami".&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;[TentangKamiController::class, 'index']&lt;/code&gt;: Ini menunjukkan bahwa ketika URL tersebut diakses, Laravel akan memanggil metode &lt;code&gt;index()&lt;/code&gt; pada kelas &lt;code&gt;TentangKamiController&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-&amp;gt;name('tentang-kami')&lt;/code&gt;: Ini memberikan nama untuk rute ini. Nama rute ini berguna untuk membuat link atau redirect ke rute ini di bagian lain aplikasi.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2 - &lt;strong&gt;Middleware&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ini seperti penjaga pintu rumah. Sebelum kamu masuk ke rumah, penjaga pintu akan memeriksa identitasmu atau barang bawaanmu. So cool! Isn't?!&lt;/p&gt;

&lt;p&gt;Middleware di Laravel berfungsi untuk memeriksa setiap permintaan yang masuk ke aplikasi. &lt;/p&gt;

&lt;p&gt;Misalnya, Middleware bisa digunakan untuk memastikan pengguna (user) sudah login sebelum mengakses halaman tertentu atau untuk memeriksa apakah pengguna memiliki izin untuk melakukan tindakan tertentu.&lt;/p&gt;

&lt;p&gt;Beberapa contoh penggunaan Middleware diantaranya:&lt;br&gt;
&lt;strong&gt;Otentikasi&lt;/strong&gt;: Memastikan pengguna telah login sebelum mengakses halaman tertentu.&lt;br&gt;
&lt;strong&gt;Autorisasi&lt;/strong&gt;: Memeriksa apakah pengguna memiliki izin untuk melakukan tindakan tertentu.&lt;br&gt;
&lt;strong&gt;Logging&lt;/strong&gt;: Mencatat setiap permintaan yang masuk ke aplikasi.&lt;br&gt;
&lt;strong&gt;Persiapan data&lt;/strong&gt;: Mempersiapkan data yang dibutuhkan oleh controller. &lt;/p&gt;

&lt;p&gt;Misalnya, kita ingin halaman "Tentang Kami" hanya bisa diakses oleh pengguna yang sudah login dan memiliki role "admin".&lt;/p&gt;

&lt;p&gt;Maka pada &lt;code&gt;AdminMiddleware.php&lt;/code&gt;, &lt;strong&gt;Middleware&lt;/strong&gt; akan diimplementasikan sebagai berikut;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Http\Middleware&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Closure&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Http\Request&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AdminMiddleware&lt;/span&gt; 

&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="cd"&gt;/**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)   
  $next
     * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;handle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Closure&lt;/span&gt; &lt;span class="nv"&gt;$next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="err"&gt; &lt;/span&gt; 
 &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;isAdmin&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'login'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Penjelasan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;auth()-&amp;gt;check()&lt;/code&gt;: Memeriksa apakah pengguna sudah login.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;auth()-&amp;gt;user()-&amp;gt;isAdmin()&lt;/code&gt;: Memeriksa apakah pengguna yang sedang login memiliki role "admin". Biasanya, kita akan menyimpan informasi role pengguna dalam database.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;return redirect('login');&lt;/code&gt;: Jika pengguna tidak memenuhi syarat, maka akan dialihkan ke halaman login.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lalu &lt;strong&gt;Routing&lt;/strong&gt; akan diimplementasikan menjadi;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// routes/web.php&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/tentang-kami'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;TentangKamiController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'index'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'tentang-kami'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;middleware&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'admin'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dan Model User pada &lt;code&gt;User.php&lt;/code&gt; akan seperti ini;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Notifications\Notifiable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Foundation\Auth\User&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nc"&gt;Authenticatable&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;User&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Authenticatable&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// ...&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;isAdmin&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;role&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;'admin'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Penjelasan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kita menambahkan metode &lt;code&gt;isAdmin()&lt;/code&gt; pada model User untuk memeriksa apakah pengguna memiliki role "admin".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cara Kerja&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ketika pengguna mengakses &lt;code&gt;/tentang-kami&lt;/code&gt;, middleware &lt;code&gt;admin&lt;/code&gt; akan dijalankan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Middleware&lt;/strong&gt; akan memeriksa apakah pengguna sudah login dan memiliki role "admin".&lt;/li&gt;
&lt;li&gt;Jika memenuhi syarat, request akan diteruskan ke controller.&lt;/li&gt;
&lt;li&gt;Jika tidak memenuhi syarat, pengguna akan dialihkan ke halaman login.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3 - &lt;strong&gt;Controller&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ini seperti tuan rumah di rumah yang kita ingin tuju setelah bertemu Routing dan Middleware.&lt;/p&gt;

&lt;p&gt;Tuan rumah akan menyambut tamu, mempersiapkan makanan, dan mengatur acara di rumah. &lt;/p&gt;

&lt;p&gt;Controller di Laravel bertanggung jawab untuk memproses data, mengambil data dari database, dan kemudian menampilkan data tersebut dalam bentuk halaman web. &lt;/p&gt;

&lt;p&gt;Misalnya, ketika kamu ingin melihat daftar produk di sebuah toko online, controller akan mengambil data produk dari database dan kemudian menampilkannya dalam bentuk halaman produk tersebut.&lt;/p&gt;

&lt;p&gt;Dalam implementasi &lt;strong&gt;Controller&lt;/strong&gt; sudah sempat disinggung ya sebelumnya kalau akan seperti ini;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Http\Controllers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Http\Request&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TentangKamiController&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Controller&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;// Logic untuk mengambil data yang akan ditampilkan di halaman "Tentang Kami"&lt;/span&gt;
        &lt;span class="c1"&gt;// Misalnya, dari database atau konfigurasi&lt;/span&gt;

        &lt;span class="nv"&gt;$data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="s1"&gt;'title'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Tentang Kami'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'content'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'Ini adalah halaman tentang perusahaan kami.'&lt;/span&gt;
        &lt;span class="p"&gt;];&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'tentang-kami'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Penjelasan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Method&lt;/strong&gt; &lt;code&gt;index()&lt;/code&gt;: Ini adalah method utama yang akan dijalankan ketika user mengakses URL &lt;code&gt;/tentang-kami&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;$data&lt;/code&gt;: Array ini berisi data yang akan dikirim ke view. Dalam contoh ini, kita hanya mengirim judul dan konten halaman. Anda bisa menambahkan data lain sesuai kebutuhan, misalnya nama perusahaan, visi misi, dll.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;return view('tentang-kami', $data);&lt;/code&gt;: Fungsi ini akan mencari file view tentang-&lt;code&gt;kami.blade.php&lt;/code&gt; dan mengirimkan data &lt;code&gt;$data&lt;/code&gt; ke view tersebut.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lalu dalam &lt;code&gt;tentang-kami.blade.php&lt;/code&gt;, &lt;strong&gt;View&lt;/strong&gt; akan terimplementasi menjadi;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;{{ $title }}&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;{{ $content }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Penjelasan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blade Template: Laravel menggunakan Blade sebagai template engine. Kita bisa menggunakan sintaks Blade untuk menampilkan data yang dikirim dari controller. setidaknya itu yang saya ketahui.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;{{ $title }}&lt;/code&gt; dan &lt;code&gt;{{ $content }}&lt;/code&gt;: Ini akan digantikan dengan nilai dari variabel &lt;code&gt;$title&lt;/code&gt; dan &lt;code&gt;$content&lt;/code&gt; yang dikirim dari controller.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;4 - &lt;strong&gt;Kesimpulan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kita dapat meringkas penggunaan sebagai berikut;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// routes/web.php&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/profile'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;UserController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'show'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;middleware&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'auth'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// app/Http/Controllers/UserController.php&lt;/span&gt;
&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;user&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'profile'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;compact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'user'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dalam contoh di atas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User meminta halaman &lt;code&gt;/profile&lt;/code&gt; kepada Routing lalu Routing menunjukkan lokasinya dan diambil alih oleh Middleware.&lt;/li&gt;
&lt;li&gt;Middleware &lt;code&gt;auth&lt;/code&gt; akan memeriksa apakah User sudah login.&lt;/li&gt;
&lt;li&gt;Jika sudah login, Middleware mengizinkan User masuk yang kemudian Controller &lt;code&gt;UserController&lt;/code&gt; akan menyambut lalu mengambil data User dan meneruskannya ke view &lt;code&gt;profile&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Akhirnya selesai juga pembahasan kali ini, tidak begitu rumit kan? Yah, walaupun method dari ketiganya cukup rumit di awal, tapi setidaknya saya tidak membuat kamu mundur ke belakang dengan penjelasan yang mudah, did I?&lt;/p&gt;

&lt;p&gt;Okay, cukup sekian artikel pertama saya.&lt;/p&gt;

&lt;p&gt;Semoga bermanfaat bagi diri saya yang masih belajar juga yang lainnya untuk ikut belajar bersama saya.&lt;/p&gt;

&lt;p&gt;Saya juga mohon maaf jika ada kesalahan dalam penjelasan maupun visualisasi. Saya absolutely menerima kritikan dan saran rekan-rekan dalam membantu saya memperbaiki issues yang sangat mungkin ada dalam studi kasus saya.&lt;/p&gt;

&lt;p&gt;Wassalaamu'alaikum.&lt;/p&gt;

</description>
      <category>middleware</category>
      <category>routing</category>
      <category>controller</category>
      <category>laravel</category>
    </item>
  </channel>
</rss>
