Belajar Laravel 11 | 5. Blade Component

Web Programming UNPAS
29 Apr 202427:41

Summary

TLDRIn this Laravel 11 tutorial for beginners, the focus is on mastering Blade, Laravel's templating engine, to streamline the management of web page appearances. The video guides viewers through creating reusable components to avoid duplication and enhance maintainability. It demonstrates how to generate components using Artisan commands, implement slots for dynamic content, and build layouts that serve as templates for entire pages. Practical examples include creating navigation and header components, dynamically changing titles based on the active page, and improving accessibility with current state indicators. The tutorial aims to make coding more modular, reusable, and concise.

Takeaways

  • 😀 The video is part of an ongoing Laravel 11 tutorial series focused on beginners.
  • 🛠 The episode specifically covers the use of Blade, Laravel's templating engine, to simplify the management of layouts and appearances.
  • 📱 The presenter discusses the use of Alpine.js and Tailwind CSS to create an attractive user interface but points out the issue of duplication across pages.
  • 🔄 To address duplication, the video introduces the concept of creating a layout system using components for better organization and reuse.
  • 🗂️ The presenter demonstrates how to create a Blade component using the artisan command `php artisan make:component` followed by the component name.
  • 📝 It's explained that components can be simple without a class for manipulation or more complex with additional properties.
  • 🔗 The video shows how to separate parts of a website into individual components for reuse on different pages, starting with the navigation bar.
  • 📖 The presenter guides viewers on how to move existing HTML code into a new component and then reference that component in the main view.
  • 🎛️ The concept of 'slots' within components is introduced to allow dynamic content to be inserted into the component structure.
  • 🏗️ A 'layout' component is created to serve as a template for all pages, incorporating previously made components and using slots to differentiate between pages.
  • 🔄 The video concludes with a discussion on improving accessibility and reducing duplication in the code, making the website's navigation links dynamic based on the active page.

Q & A

  • What is the main topic discussed in this Laravel tutorial?

    -The main topic discussed is the creation and utilization of Blade components in Laravel, specifically focusing on making the website's layout more modular and reusable.

  • Why is Blade templating engine used in Laravel?

    -Blade is used to simplify the management of the appearance of web pages by allowing developers to efficiently create and reuse components across different views.

  • What are the benefits of using components in Blade?

    -Using components in Blade allows for a more organized system layout, reducing duplication across pages and making the website's structure more maintainable and reusable.

  • How can you create a new Blade component in Laravel?

    -A new Blade component can be created using the artisan command `php artisan make:component ComponentName`, which generates a view file and a class for the component.

  • What is the purpose of the 'view' flag when creating a Blade component?

    -The 'view' flag is used when creating a Blade component without a class, resulting in only the view file being generated, which is suitable for simple components that don't require additional class-based manipulation.

  • How do you include a Blade component in a view?

    -A Blade component can be included in a view using the `x-component-name` syntax, where 'component-name' is the name of the component file without the '.blade.php' extension.

  • What is a 'slot' in the context of Blade components?

    -A 'slot' in Blade components is a placeholder that allows you to inject content into the component, making it dynamic and customizable based on the context in which the component is used.

  • How can you make a component's content dynamic based on the current page in Laravel?

    -You can make a component's content dynamic by using slots and passing variables from the route or controller to the component, which can then be displayed conditionally within the component.

  • What is the significance of the 'layout' component in Blade?

    -The 'layout' component in Blade serves as a master template for the entire website, allowing you to define a common structure and include unique page-specific content through slots.

  • How can you ensure that a Blade component reflects the active state of a navigation link?

    -You can ensure that a navigation link reflects its active state by using the `request()->is()` method in Blade to check the current URL and conditionally apply active styles or classes.

  • What is the 'na-link' component mentioned in the script and what is it used for?

    -The 'na-link' component is a custom Blade component created to simplify and reuse the anchor tag structure across the application, particularly for navigation links, making the code more maintainable and less repetitive.

Outlines

00:00

🛠️ Introduction to Blade Components in Laravel

The script introduces viewers to the fifth episode of a Laravel series for beginners, focusing on Blade, Laravel's templating engine. The host discusses the need to organize the layout system to avoid duplication across pages, suggesting the use of components within Blade for better management. The script mentions the previous setup using Tailwind and Alpine.js for the application's view, and the current task is to separate the website's sections into reusable components. The host guides viewers on how to create components in Blade and hints at exploring the Laravel documentation for further insights into component usage.

05:01

📝 Creating and Implementing Navigation Components

The host instructs viewers to open their terminal and use the 'artisan' command to create a new Blade component named 'navbar'. After creating the component, the script explains how to structure the component and move the navigation bar's code into it. The process involves cutting the navigation bar code from the 'home' view and pasting it into the new 'navbar' component. The host then demonstrates how to replace the navigation bar code in the 'home' view with the new component, achieving a cleaner and more maintainable code structure.

10:02

🏗️ Building Layouts and Dynamic Headers with Components

The script continues with the creation of a 'header' component, similar to the 'navbar' component. The host explains the concept of 'slots' in components, which allows for dynamic content that can change based on the page. The script demonstrates how to pass data to the 'header' component from the 'layout' component, ensuring that the header content changes according to the active page. The host also discusses the use of the 'layout' component to create a base template for all pages, incorporating previously created components and utilizing slots to differentiate page content.

15:02

🔗 Implementing Dynamic Links and Accessibility Features

The host guides viewers on creating a 'na-link' component for the navigation links, which includes dynamic attributes based on the current page. The script emphasizes the importance of accessibility, particularly for users with visual impairments who use screen readers. The host demonstrates how to use the 'request' function in Blade to determine the active page and dynamically set the 'aria-current' attribute for accessibility purposes. The script also covers the process of duplicating and modifying the 'na-link' component for different pages, ensuring that the navigation links reflect the active page.

20:04

🔄 Refactoring for Reusability and Reducing Duplication

The script focuses on refactoring the 'navbar' component to reduce duplication and improve code reusability. The host shows how to extract the repetitive code for navigation links into a single 'na-link' component, which can be reused across different pages. The script also covers the process of updating the 'layout' component to include the new 'na-link' component, ensuring that the navigation bar remains consistent and dynamic across all pages. The host emphasizes the benefits of this approach for maintaining a clean and accessible website structure.

25:07

📖 Conclusion and Preview of Future Episodes

In the concluding part of the script, the host summarizes the learnings from the episode, which focused on creating modular, reusable, and concise components using Blade. The host expresses gratitude and reminds viewers to stay tuned for the next episode, where they will delve into data handling for a simple blog application. The script ends with a teaser for upcoming topics, including the discussion of models, suggesting a comprehensive approach to building a Laravel application.

Mindmap

Keywords

💡Laravel

Laravel is a popular open-source PHP web framework, known for its elegant syntax and robust features. In the video, Laravel serves as the main framework for building a web application. The script discusses creating a series of components within Laravel, demonstrating how to utilize its templating engine, Blade, to manage the application's layout and components efficiently.

💡Blade

Blade is the templating engine included with Laravel, which allows developers to create views with ease. The video focuses on using Blade to manage the appearance and layout of web pages, showcasing how to create reusable components and layouts that can be applied across different pages of a Laravel application.

💡Component

In the context of Laravel and the video, a component refers to a reusable piece of UI that can be included in various parts of an application. The script explains how to create Blade components using the `php artisan make:component` command, which simplifies the process of managing repeated UI elements like navigation bars and headers.

💡Template inheritance

Template inheritance is a design pattern used in templating engines, including Blade, where a base template defines a common structure, and child templates can extend and override parts of it. Although the video primarily focuses on components, it mentions template inheritance as an alternative method for structuring layouts in Laravel applications.

💡Slot

A slot in Blade components is a placeholder that allows data to be passed into a component from its parent. The video explains how to use slots to make components more dynamic, allowing for the insertion of different content in the same structural component, such as varying titles in a header component across different pages.

💡Artisan

Artisan is Laravel's command-line interface (CLI) tool that provides a number of helpful commands for performing various tasks within a Laravel application. The video script includes the use of Artisan commands like `php artisan make:component` to generate new Blade components, demonstrating how to utilize this tool for rapid development.

💡Tailwind CSS

Tailwind CSS is a utility-first CSS framework mentioned in the video for its role in styling the application initially. It is noted for its highly customizable, utility-based approach to building styles, which complements the component-based architecture discussed in the video by allowing for fine-grained control over the appearance of each component.

💡Alpine.js

Alpine.js is a minimalistic JavaScript framework for adding interactivity to web applications. The video script references its use alongside Tailwind CSS for enhancing the user interface. Alpine.js is noted for its simplicity and efficiency in handling user interactions without the overhead of larger frameworks.

💡Mobile menu

The mobile menu is a UI component discussed in the video that is specifically designed for navigation on smaller screens. It is an example of a component that can be built and reused across the application, showcasing the benefits of component-based design in creating responsive and accessible web applications.

💡Layout

In the video, a layout refers to a master structure or template that defines the common arrangement of elements across different pages of a web application. The script describes creating a layout component in Blade that includes slots for差异化内容, allowing for a consistent design with customizable parts, which is crucial for maintaining a uniform look and feel while accommodating page-specific content.

💡Dynamic content

Dynamic content in the context of the video pertains to the ability to change the content of components based on the context in which they are used. This is demonstrated through the use of slots and passing variables to components, such as changing the title of a header component based on the active page. This concept is central to creating a flexible and reusable component system within Laravel applications.

Highlights

Introduction to Laravel 11 for beginners, focusing on Blade templating engine.

Explanation of how Blade can simplify the management of display layouts.

Utilization of Tailwind and Alpine.js for an attractive user interface.

Discussion on the drawbacks of duplication in layout and the benefits of a layout system.

Tutorial on creating components within Blade for better layout management.

Guide on organizing website sections into separate components for reuse.

Walkthrough of removing unnecessary elements like the mobile menu button.

Introduction to Blade components and directives for concise PHP functionality.

Explanation of how to create a Blade component using the artisan command.

Demonstration of converting the navigation bar into a reusable Blade component.

Instructions on how to dynamically change the header title based on the page.

Technique to send data from each page to the layout component.

Creating a dynamic header component with slots for customizable titles.

Building a layout component to serve as a template for all pages.

Method to call the layout component and fill slots with page-specific content.

Fixing issues with static headers across different pages.

Improving accessibility by ensuring active page indicators are clear to screen readers.

Creating a 'na-link' component to simplify and streamline navigation link coding.

Final review of the episode's learnings on Blade components and looking forward to future episodes on data handling for a simple blog application.

Transcripts

play00:00

Halo teman-teman semua Kembali lagi

play00:01

bersama saya sandi kagali di channel wpu

play00:03

dan kali ini kita masih ada di seri atau

play00:05

playlist belajar laravel 11 untuk pemula

play00:09

ya di episode kelima kali ini kita masih

play00:11

akan belajar mengenai Blade ya sebuah

play00:13

templating engine milik laravel yang

play00:15

digunakan untuk mempermudah kita

play00:16

mengelola tampilan ya Nah setelah

play00:18

sebelumnya kita bikin tampilannya udah

play00:20

cukup menarik menggunakan tilwin dan

play00:22

juga Alpine nah tapi mungkin teman-teman

play00:24

melihat ada beberapa kekurangan kita

play00:26

melakukan duplikasi pada setiap

play00:28

halamannya nah alangkah lebih baik Kalau

play00:29

misal akan kita rapihkan sehingga kita

play00:31

punya sebuah sistem layout nah sistem

play00:33

layout ini akan kita buat menggunakan

play00:35

komponen di dalamnya agar lebih mudah

play00:37

pengelolaannya jadi buat kalian yang

play00:39

penasaran gimana cara bikin komponen di

play00:41

dalam Blade di laravel kita langsung

play00:43

lihat aja materinya Oke teman-teman kita

play00:46

kembali lagi di aplikasi larafel kita

play00:48

kalau teman-teman ingat kita sudah punya

play00:50

sebuah view di dalam folder resource

play00:52

kita ya view-nya block ya ini kita ah

play00:55

simpan atau kita sudah buat menggunakan

play00:57

tailwin yang sudah kita rapihin secara

play00:59

fitur nya udah sebenarnya udah oke ya

play01:01

teman-teman kalau jalanin website-nya

play01:03

Misalnya menggunakan herd kita tinggal

play01:05

ke sites terus kita jalanin ya Nah ini

play01:08

dia website-nya jadi Sudah ada navigasi

play01:10

di bagian atas yang di bagian profil-nya

play01:13

udah bisa kita klik ada bagian header ya

play01:16

kita sebutnya ya Jadi yang atas ini

play01:17

adalah navb yang tengah Ini adalah

play01:19

header yang bawah ini adalah main atau

play01:21

contonentnya Oke Dan kalau misalkan kita

play01:24

kecilin Ini juga udah bisa kita rapihkan

play01:27

Oh ini masih ada ya ini belum kita hapus

play01:29

nih nih tombol notification-nya nah ini

play01:32

boleh kita hapus tapi topik kita hari

play01:33

ini adalah untuk memisahkan

play01:35

bagian-bagian dalam website kita tadi

play01:37

menjadi sebuah komponen terpisah agar

play01:39

bisa kita gunakan ulang untuk

play01:41

halaman-halaman yang lain Oke jadi kita

play01:43

buka lagi file-nya tadi harusnya ada di

play01:45

home ya bukan blog ya teman-teman buka

play01:47

halaman

play01:49

home.blade.php terus kita Scroll ke

play01:51

bagian mobile menunya nah ini mobile

play01:54

menu button ada di bagian mana sih Tom

play01:59

cook-nya nah ini di bawah Tom cook ada

play02:01

button teman-teman cari button kita

play02:04

tutup terus kita hapus Nah itu dulu yang

play02:07

harus kita lakukan ini kalau kita

play02:09

kecilin harusnya udah hilang ya Sip

play02:12

sudah berikutnya kita akan pelajari yang

play02:14

namanya Blade komponen dulu ya Coba kita

play02:17

buka lagi dokumentasi lar felnya

play02:19

teman-teman ke larfel ke bagian

play02:22

documentation sebelah kiri teman-teman

play02:26

cari di bagian the basic ada Blade temp

play02:29

Blades ya klik aja n di sini kita bisa

play02:33

lihat cara pakai Blade ya kalau kita

play02:35

Scroll yang pertama kita bisa ngirim

play02:37

data kita sudah tahu caranya ya di dalam

play02:39

view-nya kita bisa kirim array terus

play02:42

juga kita bisa menampilkan data

play02:44

menggunakan kurungkur awal 2 Begini Nah

play02:47

kalau misalkan menggunakan kurungk awal

play02:49

2 katanya semua isi variabelnya itu

play02:52

melewati dulu fungsi PHP namanya html

play02:55

speciesial karakter ini untuk

play02:57

menghindari crosside scripting ya kalau

play03:00

website kita mau dijahatin menggunakan

play03:02

script Nah itu bisa diamankan lewat html

play03:05

special charge kalau kita pakai kurung

play03:07

kurawal 2 begini terus juga kita jadi

play03:09

bisa memanggil fungsi PHP ya kita

play03:13

Panggil fungsi juga bisa di dalamung

play03:15

kurawal 2 dan yang lainnya teman-teman

play03:17

bisa baca ya Cara pakainya cuman yang

play03:19

akan kita baca adalah atau yang akan

play03:22

kita pakai adalah komponen Oh I ini ada

play03:25

juga directives ya Jadi directives ini

play03:27

kita bisa menggunakan fungsi-fungsi di

play03:30

dalam PHP atau statement-statement di

play03:32

dalam PHP dengan lebih ringkas misalkan

play03:34

mau nulis if n teman-teman cukup

play03:36

tambahkan add di depannya terus ada

play03:39

unless gitu ya jadi ada banyak yang

play03:42

nanti akan banyak kita pakai juga Scroll

play03:45

kita cari bagian komponen

play03:47

teman-teman nah ini ketemu ya bagian

play03:50

komponen Jadi bagaimana membuat View

play03:53

pada Lara file kita menjadi sebuah

play03:55

komponen nah cara bikin komponen kita

play03:57

bisa bikin menggunakan perintah artisan

play04:00

ya PHP artisan make.2 komponen spasi

play04:03

nama komponennya apa nanti akan

play04:04

dibuatkan sebuah komponen berupa views

play04:07

di dalam folder komponen tapi nanti juga

play04:09

kita akan dapat kelasnya kelas komponen

play04:12

kalau misalkan nanti kita mau modifikasi

play04:14

atau mau menambahkan property-prerti

play04:16

lain ke dalam komponen kita tapi kalau

play04:18

misalkan kita enggak mau bikin kelasnya

play04:21

misalkan mau bikin komponennya simpel

play04:22

aja L enggak butuh kelas buat manipulasi

play04:25

isinya kalian tambahkan minus-minus view

play04:27

nanti kita coba dua-duanya yang pakai

play04:29

kelas sama yang enggak pakai kelas oke

play04:31

terus juga cara manggilnya begini ya

play04:34

Jadi nanti ada x-nya terus nama dari

play04:36

komponennya apa cara menampilkan

play04:39

komponennya begini jadi kayaknya kita

play04:41

langsung coba aja ya Oke jadi sekarang

play04:43

kita kembali dulu ke kode kita ingat

play04:46

teman-teman ya sebenarnya kalau misalkan

play04:48

kita

play04:49

bagi struktur website kita kan kebagi

play04:51

jadi tiga ya kita sudah bahas di episode

play04:53

sebelumnya ada navigasi ada header dan

play04:56

ada main Nah nanti navigasi ini yang

play05:00

paling utama kita akan jadikan sebagai

play05:02

sebuah komponen terpisah Oke jadi saya

play05:05

minta sekarang teman-teman buka

play05:06

terminalnya boleh pencet conttrol back

play05:08

tick ingat kita lagi jalanin NPM rand

play05:12

Dev ini enggak usah dimatikan kalau

play05:14

teman-teman yang belum jalanin jalanin

play05:16

dulu NPM Run Dev Jadi kalian jangan

play05:18

ganggu-ganggu Terminal yang ini kita

play05:20

akan bikin terminal baru aja klik new

play05:23

terminal di sini tanda tambah jadi

play05:26

sekarang kita punya dua ya terminal di

play05:28

sini kita akan ketikkan perintahnya PHP

play05:31

artisan make.2

play05:34

komonen komponen pertama yang akan kita

play05:36

bikin namanya navb biasanya nama

play05:39

komponen ditulis diawali dengan huruf

play05:40

besar ya jadi nulisnya gini karena dia

play05:43

akan merepresentasikan nama kelas atau

play05:45

gini aja L nafbar gini ya nanti akan

play05:48

dibuatkan sebuah file komponen ada view

play05:52

dan ada class Jadi dua buah ya bukan

play05:54

sebuah pencet enter udah dibuat ada di

play05:57

dalam view componen snafb Coba kita

play06:00

close dulu kita buka struktur foldernya

play06:03

sekarang ada folder komponen di dalamnya

play06:05

ada navb yang isinya kosong Wah terus

play06:08

langsung dibuatkan ini ada quote Ya jadi

play06:10

kalau kita bikin komponen sama larfelnya

play06:12

dibikinin Div kosong yang isinya ada

play06:14

quote dan quot-nya ini ganti-ganti ya

play06:16

kalau kalian bikin komponen lain kuatnya

play06:18

beda lagi tapi enggak hanya view kita

play06:20

juga dibikinkan ada di dalam folder app

play06:24

view komonen tuh sekarang jadi ada

play06:26

folder view-nya ada navb Nah nanti

play06:30

teman-teman di sini kalau butuh sesuatu

play06:33

yang lebih kompleks terkait komponennya

play06:35

ya tapi kayaknya sekarang kita enggak

play06:36

akan dulu ubah-ubah kelasnya ya kita

play06:39

Biarkan aja kita close kita fokus yang

play06:41

ada di dalam NAV barnya aja nah jadi

play06:43

kita nanti akan memindahkan saya tutup

play06:46

dulu saya barnya kode yang ada di home

play06:48

bagian NAV bar-nya ini semuanya kita Cut

play06:52

kita pindahkan ke dalam navb ini div-nya

play06:55

dihapus aja kita simpan ke sini Jadi

play06:57

kita pindahin sehingga di dalam home-nya

play07:01

kita cukup ganti dengan nama komponennya

play07:03

aja kalian cukup tulis X

play07:07

navbar nah ini artinya Saya akan

play07:10

mengambil komponen yang nama filenya

play07:13

navbar.blade.php ini kalau kita save

play07:16

kita lihat

play07:17

hasilnya refresh sama aja Nab ini

play07:22

tampilnya sama tapi sekarang udah masuk

play07:24

ke dalam komponen gitu enak ya kita bisa

play07:26

tarik ya itu yang pertama navb Dulu

play07:28

Sekarang kita mau mau bikin header juga

play07:30

jadi komponen terpisah Oke jadi caranya

play07:34

sama kita buka lagi Terminal sekarang

play07:36

kita ketik PHP artisan make

play07:40

component header nah tapi karena header

play07:43

ini simpel banget saya enggak akan bikin

play07:45

kelas ya kalau enggak mau dibikin kelas

play07:48

teman-teman kasih flag-nya atau

play07:50

tambahannya view gini jadi pada saat

play07:54

dienter yang dibuat hanya komponennya

play07:57

saja lihat di sini ada header ya kita

play08:00

buka tapi kalau di folder componen

play08:02

enggak ada ya oke lihat nih ada quotes

play08:08

yang berbeda ya sekarang kita pindahin

play08:10

na barnya atau headernya ya kita Cut

play08:14

kita ganti jadi apa X header begini kita

play08:19

simpan ke header ini kita hapus kita

play08:22

simpan nah udah ya kita coba lihat

play08:25

hasilnya ini gak ada masalah nah tapi

play08:27

teman-teman pahami bahwa Ketika nanti

play08:30

kita pindah halaman itu kan headernya

play08:32

ganti-ganti ya di sini home di sini blog

play08:34

di sini about gitu di yang terakhir

play08:37

kontak gitu penginnya kan gitu kalau

play08:39

misalkan kita lakukan seperti ini Lihat

play08:42

tulisan homepage ini kita tulis secara

play08:44

hard code nanti yang akan terjadi adalah

play08:47

semua halaman headernya tulisannya

play08:49

homepage Nah kan alangkah lebih baik

play08:52

kalau tiap halaman tuh beda-beda namanya

play08:54

sesuai dengan halaman itu fungsinya buat

play08:56

apa Nah ini kita bisa bikin komponennya

play08:58

sedikit lebih lebih dinamis dengan

play09:00

menambahkan yang namanya slot gitu ya

play09:04

jadi teman-teman tulisan homepage ini

play09:07

teman-teman bisa ganti dengan mencetak

play09:09

variabel

play09:11

slot Begini Nah nanti apapun yang ada di

play09:15

dalam variabel slot itu akan ngambil

play09:17

dari apapun yang teman-teman tulis di

play09:19

dalam komponennya jadi kalau saya tulis

play09:22

di sininya

play09:24

homepage maka tulisan homepage akan

play09:28

masuk ke dalam komponen nya untuk

play09:29

menggantikan tulisan slot gitu Keren kan

play09:34

jadi sekarang ini tetap homepage jadi

play09:37

kebayang dong pada saat nanti saya

play09:39

pindah halaman Harusnya kita bisa ganti

play09:41

tulisannya sesuai dengan apa yang kita

play09:43

mau Oke Mantap ya jadi itu cara kita

play09:46

bikin komponen secara sederhana nah dan

play09:49

berikutnya agar kita bisa menggunakan

play09:52

template keseluruhan halamannya di

play09:55

berbagai halaman kita butuh yang namanya

play09:57

layout oke Apa itu layout kita kembali

play10:01

ke dokumentasinya Nah sekarang

play10:04

teman-teman lihat di bagian komponen ya

play10:06

kalau kita Scroll atau kita balik dulu

play10:08

ke daftar isinya di atas ya jadi di

play10:11

daftar isinya kalian bisa lihat ada

play10:15

building layouts Nah ini nih ya kita

play10:17

coba klik jadi untuk membuat layout itu

play10:20

ada dua caranya itu bisa menggunakan

play10:23

komponen yang akan kita coba sekarang

play10:26

atau bisa juga menggunakan template

play10:29

inheritance atau pewarisan dari template

play10:31

nah ini kalau teman-teman yang pernah

play10:32

ngikutin playlist laraf 8 kita

play10:35

menggunakan teknik yang ini yang

play10:36

template inheritance ya kita menggunakan

play10:38

yield section dan juga extens nah

play10:42

sekarang kita mau coba cara yang berbeda

play10:43

yaitu menggunakan komponen gitu ya jadi

play10:47

nanti kita akan bikin sebuah komponen

play10:49

namanya layout nanti otomatis layout ini

play10:51

akan menjadi template untuk keseluruhan

play10:54

halaman kita nanti semuanya kita simpan

play10:56

ke dalam layout beserta dengan

play10:58

komponen-komponen yang sudah kita buat

play11:00

tadi tinggal nanti kita bikin slotnya di

play11:02

sini slot yang akan membedakan antara

play11:04

satu halaman dengan halaman yang lain

play11:07

nanti kalau misalkan layout-nya sudah

play11:09

jadi tinggal kita Panggil di halaman

play11:11

yang kita butuhkan Dengan cara memanggil

play11:13

X layout aja ya kita cobain ya kita

play11:16

kembali lagi ke

play11:18

kodenya kita bikin dulu ya kita buka

play11:21

lagi Terminal kita ketik PHP artisan

play11:25

make

play11:27

component layout

play11:30

Oke sudah kita tutup lagi terminalnya

play11:33

kita lihat sekarang kita udah punya

play11:35

layout ya harusnya Nah sekarang kita

play11:37

buka kita akan simpan seluruh kode yang

play11:41

ada di halaman home jadi kita pencet

play11:43

ctrl a terus ctrl X aja ya kita

play11:46

pindahkan ke dalam layout ini kita hapus

play11:49

kita simpan di sini semua oke terus

play11:52

nanti di layout-nya di bagian main itu

play11:55

kan yang membedakan antara satu halaman

play11:57

dengan halaman lain kan ininya aja ya

play11:59

isi dari main-nya Nah di sini mau kita

play12:01

ganti dengan slot jadi dolar slot Nah

play12:05

kalau sudah kita save sekarang kita

play12:07

kembali ke halaman home nah di halaman

play12:09

home kita tinggal tulis gini teman-teman

play12:11

kita Panggil komponennya X layout terus

play12:14

di dalamnya kita tinggal tulis apa yang

play12:16

mau kita masukin ke dalam slotnya tadi

play12:19

misalnya kita tulis H3 ini adalah

play12:23

halaman

play12:25

homepage gu ya Kita kasih kelasnya

play12:28

misalkan hurufnya mau dibikin gede Tex

play12:31

XL Oke kita lihat kita kembali ke

play12:35

website kita sini ya kita refresh tuh

play12:39

aman sekarang halaman home kita hanya

play12:43

begini aja nah sehingga lihat yah

play12:45

teman-teman kerennya gini kalau kita

play12:47

buka halaman blog

play12:49

Oke kita buka halaman blog kita bisa

play12:52

Hapus semua

play12:54

isinya kita tinggal ganti dengan yang

play12:57

ada di halaman home

play12:59

nah ini ya Tinggal kita ganti tulisannya

play13:03

apa Welcome to my blog kita lihat ya

play13:10

balik ke website-nya kita klik blog tuh

play13:13

sudah ya tapi ada beberapa problem nih

play13:15

problem yang pertama header kita tetap

play13:17

sama ya antara home dan blog tetap sama

play13:20

ini harus kita perbaiki dulu perbaikinya

play13:23

gimana kita lihat kita tahu kalau di

play13:26

komponen header kita kita udah kasih

play13:28

slot sebetul nya tapi masalahnya slot

play13:31

ini kan dikirim dari layout dikirim dari

play13:34

sini nah ini harus kita bikin dinamis

play13:39

juga teman-teman nah gimana caranya kita

play13:42

harus kirim datanya dari setiap halaman

play13:46

kirimnya lewat mana kirimnya biasanya

play13:48

saya lewat routes-nya jadi Coba

play13:50

teman-teman buka file web-nya ada di

play13:53

routes ada di web ya Nah kita akan kirim

play13:56

di setiap halaman misalnya gini di home

play13:59

Saya mau kasih title gini ya kirim data

play14:02

namanya

play14:03

title yang

play14:05

berisi

play14:07

homepage gini untuk blog kita

play14:12

kirim

play14:14

title yang namanya blog

play14:18

title blog kayak gini n ini kan slot itu

play14:21

didapatkan dari apapun yang kita

play14:23

Tuliskan di dalam layout-nya ya di sini

play14:27

nah sedangkan layout itu dipanggil dari

play14:29

halaman home Nah jadi kita harus

play14:31

kirimkan dulu data title karena title

play14:33

itu hanya bisa dibaca di halaman home

play14:35

aja nih kalau teman-teman mau ngecek ya

play14:37

kita ngirimin title di halaman home kan

play14:40

kita ke web nih ya title-nya di halaman

play14:43

home berarti kalau kita mau cek ya

play14:45

misalkan teman-teman buka Blade terus

play14:47

tulis DD DD itu adalah dump and die jadi

play14:51

Tampilkan variabel atau fardam terus

play14:54

matikan scriptnya ini akan sering banget

play14:56

kita pakai buat melakukan debug kita

play14:58

tulis title dolar title Nah ini kan

play15:02

title didapat dari mana title didapat

play15:04

dari roots jadi title dikirim ke halaman

play15:07

view home ke sini dapat nih Harusnya

play15:10

kalau kita ke home dapat nah tapi kalau

play15:14

title ini kita langsung akses di layout

play15:17

di

play15:19

sini gak bisa seang kita tulis di sini

play15:22

aja dia tidak menerima dia gak tahu

play15:25

title Apa karena title hanya ada di home

play15:28

Nah kita harus cari cara agar halaman

play15:30

home yang sudah mendapatkan title bisa

play15:33

mengirimkan ke layout gitu ya jadi ini

play15:36

kita hapus dulu teman-teman balik lagi

play15:40

ke home Nah kita akan bikin sebuah

play15:43

variabel jadi kita bikin menggunakan

play15:47

komponen X

play15:49

slot gitu kita mau bikin slot yang kita

play15:53

kasih nama title gini yang isinya adalah

play15:58

variabel title gitu jadi dikirim dulu ke

play16:01

halaman home si title-nya nanti halaman

play16:04

home akan jadi slot untuk layout

play16:07

sehingga di layout kita bisa pakai

play16:09

sekarang homepage-nya diganti dengan

play16:13

title tapi title ini bukan dari routes

play16:16

tapi dari home Nah sekarang title udah

play16:19

bisa masuk ke header ke sini mari kita

play16:23

lihat aman ya Jadi udah aman kalau masuk

play16:26

blog Oh masih error kenapa Karena di

play16:30

blok juga belum kita

play16:32

kasih ini ya jadi harus ditambahin

play16:36

juga tuh jadi ini udah

play16:41

oke mantap Ya silakan teman-teman

play16:44

lakukan hal yang sama untuk about dan

play16:46

juga kontak itu tugasnya ya Dan Terakhir

play16:48

untuk episode kali ini kita akan

play16:50

jalankan bagian aktifnya ini kan kalau

play16:53

saya masuk ke Blok bloknya masih belum

play16:55

ada background itemnya ya Nah ini

play16:57

harusnya pindah sesuai dengan mana yang

play16:59

kita klik Oke kita coba balik ke halaman

play17:02

navbar ya kita ke navbar karena linknya

play17:05

ada di navbar kita harus lakukan dua

play17:07

kali di bagian paling atas dan juga

play17:09

nanti ketika mobile jadi kita benerin

play17:11

satu dulu nih ketemu ya ini di bagian

play17:13

paling atas teman-teman lihat di sini

play17:15

ada panduan yang dikasih sama si Twin

play17:18

ui-nya current itu artinya saat keadaan

play17:21

aktif keadaan aktif itu kelasnya ini BG

play17:24

greay text white tapi kalau misalnya

play17:27

keadaan yang tidak aktif atau di gold

play17:29

kelasnya yang ini gitu jadi Ini sisanya

play17:33

lagi enggak aktif cara ngeceknya gini

play17:35

teman-teman jadi kan kita harus pilih

play17:37

dia lagi aktif apa enggak ini kalau

play17:38

aktif ini kalau enggak aktif itu kita

play17:42

harus lakukan Pengecekan di dalam Lara

play17:44

file itu ada sebuah fungsi yang namanya

play17:47

request jadi saya bisa cetak menggunakan

play17:50

Blade terus saya tulis gini jika

play17:54

request gini terus kita kasih meodenya

play17:57

is

play17:59

terus kita kasih requestnya apa request

play18:01

tu url-nya sedang dalam keadaan apa

play18:04

kalau saya ketik slash ini artinya

play18:07

ketika halamannya berada di slash jika

play18:11

halaman lagi berada di slash ini akan

play18:13

menghasilkan nilai true atau false kalau

play18:15

true maka Tampilkan

play18:18

ini nah ini saya cut ya teman-teman ya

play18:21

conttr

play18:22

X terus saya kasih kutip di sini kita

play18:25

bikin Pak ternari operator

play18:28

true tanda tanya maka Tampilkan ini kita

play18:32

kasih titik dua titik du jika false kita

play18:36

kasih kutip kita copykan yang ini

play18:40

semua

play18:42

nah gitu Jadi kalau lagi aktif pakai

play18:45

yang depan kalau lagi enggak aktif pakai

play18:47

yang belakang kita coba ya satu dulu aja

play18:51

save nih kita lagi di blok nih home-nya

play18:55

mati kan ketika kita ke home home-nya

play18:57

nyala mantap sekarang kita benerin untuk

play18:59

yang blog yang blog juga sama

play19:01

teman-teman tinggal copy aja segini ya

play19:05

tinggal copy untuk menggantikan ini

play19:07

semua sampai sini

play19:10

tinggal kita paste tinggal is-nya kita

play19:14

ganti dengan blog ya gak usah pakai

play19:16

slash teman-teman kita lihat blog nah

play19:19

udah aktif tuh Mantap ya tapi kalau

play19:22

teman-teman mau bikin dia lebih keren

play19:24

dan supaya ggak Terlalu banyak

play19:26

duplikasinya Ya gimana kalau kita ubah

play19:29

agar si tag a ini kan ini makin panjang

play19:32

ya ada tulisan begininya kita ubah jadi

play19:34

komponen sehingga nanti nulisnya enggak

play19:36

akan terlalu panjang Mari kita bikin

play19:37

dulu ya kita bikin komponen baru ini

play19:39

kita clear

play19:40

aja PHP artisan make.2

play19:45

komponen kita kasih namanya apa Na link

play19:48

aja kali ya Na link kalau teman-teman

play19:50

nulisnya gini berarti nanti nama

play19:52

komponennya adalah na Dash link ya ada

play19:55

dash-nya karena saya mau bikin dia

play19:57

simpel aja tanpa kelas kita kasih apa

play19:59

tadi minus minus view udah ya pcat enter

play20:03

sip udah kebikin sekarang kita buka dulu

play20:07

nalink tuh ya Jadi ada dash-nya ada

play20:10

minusnya kita buka tutup lagi

play20:12

sidebar-nya Sekarang kita akan copykan

play20:15

sat tag a ini ya kita copy kita copy

play20:18

nanti kita ganti yang di halaman

play20:20

nabarnya kita pindahkan ke sini ada

play20:23

beberapa hal yang harus kita ubah

play20:24

pertama hf-nya itu enggak akan kita

play20:27

tulis manual di sini hf-nya akan kita

play20:29

gunakan sesuai dengan apa yang ada di

play20:32

sini jadi hf-nya enggak akan dibawa Oke

play20:35

begini dihapus saja Nah jadi untuk KF

play20:39

bar-nya itu bisa kita ganti komponennya

play20:42

jadi gini ini kita hapus ya kita hapus

play20:44

kita bikin jadi komponennya X na link Ya

play20:50

ini yang isinya ada hf-nya gini jadi

play20:53

hf-nya masih tetap ada dan dia akan kita

play20:56

pakai di sini cara Cara pakainya gimana

play20:59

cara mengirim hf ini ke dalam komponen

play21:02

cara ngirimnya itu di akhir atau di di

play21:05

mana pun di depan juga boleh ya kita

play21:08

tulis kurung kur awal buka dolar

play21:12

attribut gitu Jadi ini artinya apapun

play21:15

atribut yang dituliskan di dalam

play21:17

komponennya itu akan di-merge atau

play21:20

digabungkan ke dalam komponennya atau ke

play21:23

dalam tag aslinya oke terus

play21:26

berikutnya tulisan di dalamnya ini kita

play21:29

tulis home ya home ini akan masuk ke

play21:32

dalam slot

play21:34

Ya seperti yang udah kita coba Jadi

play21:37

home-nya akan masuk ke sini nah sekarang

play21:39

kita coba

play21:40

jalanin ya masih aman tapi sekarang kita

play21:43

ubah jadi sebuah komponen tapi kalau mau

play21:46

lebih rapi lagi ini kalian harus benerin

play21:48

area current-nya nih supaya

play21:50

accsessibility-nya bagus ya sebenarnya

play21:52

kalau website-nya sederhana sih kalian

play21:53

bisa hapus tapi karena kita pengin

play21:55

website kita accsesibility-nya bagus

play21:57

kita harus kasih area current ini buat

play21:59

menentukan saat dibaca oleh teman-teman

play22:02

yang punya keterbatasan penglihatan

play22:04

biasanya mereka menggunakan yang namanya

play22:05

screen reader jadi website-nya itu

play22:07

dibacain kalau kalian tulis area current

play22:10

sama dengan page ini artinya link ini

play22:12

dibaca oleh screen reader adalah

play22:14

page-nya lagi aktif Nah kan kita

play22:17

penginnya page-nya enggak selalu aktif

play22:19

page-nya aktif sesuai dengan request-nya

play22:21

Jadi sebenarnya bisa kita lakukan hal

play22:23

yang sama juga kalian bisa tulis begini

play22:26

kita kurung kur awal request is tanda

play22:29

tanya page atau false harusnya Begini

play22:34

Nah ini benar kalau kita jalanin aman ya

play22:38

secara visual enggak ada perubahan tapi

play22:39

secara aksesibilitas ini lebih baik nah

play22:42

tapi ini kan teman-teman Lihat kita

play22:44

melakukan pengulangan ya sebenarnya gini

play22:46

aja udah benar enggak ada masalah ya

play22:48

tapi kalau mau lebih rapih lagi kita

play22:50

bisa keluarin request ini ke dalam

play22:53

komponennya gitu jadi caranya kalau kita

play22:56

mau mengirimkan atribut yang kita buat

play22:59

sendiri kan kalau hf ini adalah atribut

play23:02

punyanya tag a ya ini bisa dikirim ke

play23:04

dalam

play23:05

atributs mana tadi Nah ini ya kalau

play23:09

misalkan kita buka terus kita Klik Kanan

play23:11

kita

play23:12

inspect nih tag-nya tampil di sini kalau

play23:16

kita mau ngirim

play23:17

sesuatu misalkan Saya mau ngecek Apakah

play23:20

aktif atau tidak saya tulis aktif ini

play23:23

ini yang saya bikin

play23:25

sendiri gini misalkan aktifnya teru gitu

play23:28

Ya nah tapi kalau misalkan teman-teman

play23:30

tulisnya true begini ini artinya yang

play23:32

yang dikirim adalah string true kalau

play23:35

teman-teman mau kirimnya bulean ya true

play23:37

atau false teman-teman kasih titik du di

play23:40

sini nah tapi kan kita enggak mau nulis

play23:43

true kita mau ngecek Apakah request-nya

play23:46

slash atau bukan root atau bukan nah

play23:49

caranya kayak tadi kita kasih di sini

play23:51

request

play23:53

is gitu Jadi kalau request-nya Slash

play23:58

kirimin true atau false-nya ke dalam

play24:00

komponennya jadi ini kita tinggal ganti

play24:03

jadi dolar

play24:05

aktif gitu sama aja ini juga sama dolar

play24:11

aktif sedikit lebih simpel lah ya

play24:13

dikerjakannya di depan di sini tapi

play24:15

kalau teman-teman Ma pakai cara yang

play24:17

tadi juga boleh

play24:19

ini aman ya Tuh jadi sekarang kita

play24:24

tinggal duplikat aja duplikat ini kita

play24:27

tinggal ganti jadi blog gitu ya Ini juga

play24:30

jadi blog yang lainnya juga ya duplikat

play24:33

lagi Ini jadi about ini about satu lagi

play24:39

adalah

play24:40

kontak kontak ini juga kontak udah jadi

play24:44

ini enggak perlu lagi

play24:45

[Musik]

play24:47

teman-teman sip ya sekarang kalau kita

play24:49

lihat blog about Oh about-nya masih

play24:52

belum ya Oh ini karena ada

play24:55

slash-nya is-nya jangan pakai slash tadi

play24:59

blog nah sip udah ya tinggal kita copyan

play25:03

ke halaman about dulu apa yang kita

play25:07

copyan struktur halamannya ini kita copy

play25:10

teman-teman silakan buka halaman ctrol P

play25:13

ya kita ke about nah ini ctrl a ctrl V

play25:19

Ini adalah

play25:21

halaman halaman about satu lagi ctrol P

play25:27

kontak ctrl a ctrl V ini halaman

play25:31

[Musik]

play25:33

kontak Nah jangan lupa tapi kita butuh

play25:37

title title belum dikirim di rout-nya

play25:40

ingattingak teman-teman karena kalau

play25:42

enggak error dia about tuh error dia

play25:46

butuh title sedangkan kita enggak ngirim

play25:48

title

play25:49

Oke maka kita kirim dulu di

play25:53

halaman

play25:55

about kontak dulu deh kita kirim di

play25:59

kontak satu lagi ini

play26:04

kontak satu lagi di about about karena

play26:07

kita UD ngirim nama berarti tambahin

play26:09

koma di sini Jadi ngirimnya dua data Oke

play26:14

kita ke about kita ke kontak udah beres

play26:18

semuanya Oh tadi kita mau ngecek yang

play26:21

nama Berhasil enggak di dalam about ya

play26:22

kita ke about kita kasih

play26:26

paragraf n nama

play26:29

adalah nama ya gini coba ini kan

play26:34

dikirimnya nama ya atau name deh name

play26:37

biar pakai bahasa

play26:39

Inggris name

play26:42

Ah ada ya Halaman about nama Sandika

play26:45

udah halaman kontak udah blog juga aman

play26:49

home juga aman jadi itu dia ya

play26:52

teman-teman pembelajaran kita mengenai

play26:54

bagaimana cara bikin komponen

play26:56

menggunakan Blade templating engine

play26:58

sehingga jauh lebih modular lebih

play27:00

reusable dan lebih ringkas lagi

play27:01

codingannya ya dan di video berikutnya

play27:04

kita bakalan mulai masuk membahas

play27:05

mengenai data yang akan kita gunakan

play27:08

untuk aplikasi blog sederhana kita di

play27:10

mana Nanti kita akan mulai membahas

play27:11

mengenai model ya Jadi mungkin itu aja

play27:14

untuk episode kali ini mudah-mudahan

play27:16

bermanfaat kita ketemu lagi di episode

play27:17

Berikutnya saya sandagali pamit dan

play27:19

seperti biasa jangan lupa titik kom

play27:24

[Musik]

play27:32

[Musik]

Rate This

5.0 / 5 (0 votes)

相关标签
Laravel 11Blade ComponentsWeb DevelopmentTemplate EngineCoding TutorialModular DesignReusable CodePHP FrameworkWeb LayoutsProgramming
您是否需要英文摘要?