Seri 3 Belajar Laravel 10 dari Nol || Membuat Halaman Index dan About

 



Dalam bab ini, halaman beranda saat ini hanya menampilkan pesan selamat datang. Mari kita buat tampilan beranda baru. Di dalam `resources/views/`, buat subfolder bernama `home`. Di dalam `resources/views/home`, buat file baru bernama `index.blade.php` dan isi dengan kode berikut:



oncode



[code hl="1, 4, 7"] @extends('layouts.app') @section('title', $viewData["title"]) @section('content')


@endsection [/code]

Bagian pertama dengan `@section` menyuntikkan konten dari variabel `viewData["title"]`. Variabel ini akan didefinisikan di dalam file rute web (akan dijelaskan nanti dalam bab ini) dan akan dipassing ke tampilan ini. Kemudian, kita mendefinisikan beberapa divisi untuk menampilkan beberapa gambar. Kita perlu mengunduh gambar-gambar ini dan menyimpannya di dalam folder `public` kita. Pertama, di dalam folder `public`, buat subfolder bernama `img`. silahkan buat tiga gambarsesuai dengan selera anda dalam hal ini saya akan mengupload gambar dengan nama mainan.png ,game.png dan perkakas.png 





Tampilan About


Mari kita buat tampilan About. Di dalam `resources/views/home`, buat file baru bernama `about.blade.php` dan isi dengan kode berikut:












oncode



[code hl="1, 4, 7"] @extends('layouts.app') @section('title', $title) @section('subtitle', $subtitle) @section('content')

{{ $description }}

{{ $author }}

@endsection [/code]


Kita memiliki tampilan sederhana yang menampilkan deskripsi aplikasi dan beberapa informasi tentang penulis. Nantinya, kami akan melewatkan empat variabel dari sebuah controller ke tampilan ini. Ingatlah bahwa Blade memungkinkan menggunakan tanda kurung kurawal untuk menampilkan data yang dilewatkan ke dalam tampilan.


Pengenalan Routing Laravel


Routing Laravel adalah mekanisme yang digunakan untuk merutekan semua permintaan aplikasi Anda ke metode atau fungsi spesifik yang akan menangani permintaan tersebut. Routing Laravel menerima URI (Uniform Resource Identifier) bersama dengan sebuah closure. Closure merupakan versi PHP dari fungsi anonim. Closure adalah fungsi yang dapat Anda lewatkan sebagai objek, berikan ke variabel, atau lewatkan sebagai parameter ke fungsi dan metode lainnya. Routing Laravel didefinisikan di dalam file rute Anda (terletak di dalam direktori rute).


- File `routes/web.php` mendefinisikan rute untuk antarmuka web Anda. Ini adalah rute-rute yang akan kita gunakan dalam buku ini.

- File `routes/api.php` mendefinisikan rute untuk API Anda (jika Anda memiliki satu). Ini adalah rute-rute yang digunakan dalam arsitektur berorientasi layanan atau REST API (yang berada di luar cakupan buku ini).


Mari kita periksa beberapa rute untuk memahami bagaimana mereka bekerja. Di dalam `routes/web.php`, lakukan perubahan berikut dalam tebal.


```php

// Definisikan rute pertama yang menghubungkan URI “/” dengan sebuah closure yang mengembalikan tampilan (dalam hal ini, tampilan `home.index`). `view()` adalah helper Laravel yang mengambil instance tampilan. Perhatikan bagaimana kami melewatkan variabel `viewData` ke tampilan `home.index` dengan menggabungkan metode `with` ke metode bantuan tampilan.

// Rute kedua menghubungkan URI “/about” dengan metode `about` dalam HomeController (dibuat nanti). Selain itu, kami mendefinisikan sebuah nama rute kustom dengan menggabungkan metode `name` ke dalam definisi rute.

```

Jadi setelah sebelumnya kita membuat web.php didalam routes maka sekarang kita akan memodifikasinya menjadi:



oncode


[code hl="1, 4, 7"] with("viewData", $viewData); }); Route::get('/about', 'App\Http\Controllers\HomeController@about')->name("home.about"); [/code]

Pengenalan Controller Laravel


Mendefinisikan seluruh logika penanganan permintaan di dalam penutup file rute tidaklah cerdas. Anda akan berakhir dengan ratusan atau ribuan baris kode di dalam file rute (yang memengaruhi keberlanjutan proyek). Strategi yang baik adalah mengorganisir perilaku ini menggunakan kelas "controller". Controller dapat mengelompokkan logika penanganan permintaan terkait ke dalam sebuah kelas tunggal. Sebagai contoh, kelas `UserController` mungkin menangani semua permintaan masuk yang terkait dengan pengguna, termasuk menampilkan, membuat, memperbarui, dan menghapus pengguna.


Di dalam `app/Http/Controllers`, buat file baru bernama `HomeController.php` dan isi dengan kode berikut:
















oncode



[code hl="1, 4, 7"] with("viewData", $viewData); } public function about() { $data1 = "About us - Online Store"; $data2 = "About us"; $description = "ini laman About ..."; $author = "Developed by: idiarso"; return view('home.about')->with("title", $data1) ->with("subtitle", $data2) ->with("description", $description) ->with("author", $author); } } [/code]
// Kita memiliki HomeController yang memperluas kelas Laravel Controller. Kita memiliki metode `index` yang tidak akan dibahas dalam bab ini. Sementara itu, kita memiliki metode `about` yang terhubung dengan rute `"/about"` dalam file `routes/web.php`. Metode ini mendefinisikan serangkaian variabel dan melewatkan mereka ke dalam tampilan `home.about`.



ketika seorang pengguna menuju rute `"/"`, tampilan `home.index` akan ditampilkan (dikirim dalam file `routes/web.php`). Demikian juga, ketika seorang pengguna menuju rute `"/about"`, tampilan `home.about` akan ditampilkan (dikirim dalam metode `about` HomeController).


Menjalankan Aplikasi


Di Terminal, pergi ke direktori proyek, dan jalankan perintah berikut untuk kembali melihat dari sisi browser:


php artisan serve


Buka rute `"/"`, dan Anda akan melihat halaman beranda baru. Kemudian, buka rute `"/about"`, dan Anda akan melihat halaman tentang .






Kita telah membuat beberapa tampilan Laravel, sebuah Controller Laravel, dan memodifikasi rute web. Namun, kita belum menghubungkan menu navbar ke rute-rute baru. Kita juga sengaja memperkenalkan beberapa kesalahan serius saat mendefinisikan elemen-elemen sebelumnya. Mengapa? Karena kita ingin mengilustrasikan konsep kode bersih. Di bab berikutnya, kita akan memperbaiki kembali elemen-elemen ini dan menerapkan beberapa strategi tentang kode bersih di dalam rute, controller, dan tampilan.

IDIARSO
IDIARSO

Menulis adalah kegiatan saya disela rutinitas kerja,silahkan berkomentar dibawah ini sebagai bahan masukan

Tidak ada komentar:

Posting Komentar