Pada tutorial kali ini kita akan membahas belajar Laravel controller, apa itu controller? apakah sulit belajar laravel controller?
Mari kita coba kupas 2 pertanyaan umum jika anda memang benar-benar baru didunia framework.
Apa itu controller?
Seperti namanya, controller atau pengontrol.. awal ya jangan salah sebut 😀
Controller seperti sebuah pusat kontrol, tujuannya adalah menjembatani antara View dan Model dimana didalam controller terdapat logika-logika pemrograman berdasarkan projek yang kita tengah buat.
Baca juga: Belajar Routing Di Laravel
Di controller konsep CRUD (Create, Read, Update, Delete) terjadi, sehingga penting bagi kita memahami konsep controller dan cara implementasinya.
Apakah sulit belajar controller?
Tidak sulit, justru controller memudahkan kita dari yang biasanya menulis kode program dengan cara konvensional, kini dengan cara yang sangat simple.
Dalam 1 file, anda dapat membuat sebuah proses untuk menampilkan halaman di browser, membuat input form, menghapus data dan lain sebagainya.
Namun hal yang perlu pembaca perhatikan ketika berniat ingin menggunakan sebuah framework adalah pemhaman tentang pemrograman berorientasi objek.
Baca juga: Pengertian Object Oriented Programming PHP
Minimal pembaca sudah mengerti atau paham konsep OOP (Object Oriented Programming) di PHP.
Belajar Laravel Controller
Setelah basa-basi diatas (tapi baiknya dibaca dari atas sampai bawah ya) selanjutnya mari kita lakukan percobaan atau praktek belajar controller di laravel.
Perlu diketahui bahwa kita tidak perlu membuat controller secara manual, laravel sudah menyediakan perintah-perintah yang dapat dijalankan di terminal atau command promp untuk tujuan mempersingkat dan mempermudah pekerjaan.
Salah satu perintah tersebut adalah membuat controller otomatis. Caranya, pertama buka terminal atau CMD anda, lalu arahkan dulu ke folder laravel anda, setelah itu ketikan perintah dibawah ini:
php artisan make:controller HaloDuniaController
Setelah itu tekan enter, jika sudah maka akan ada file baru bernama HaloDuniaController.php yang terletak di folder app/Http/Controllers/ dimana didalamnya sudah ada beberapa baris code yang tersedia secara bawaan setelah kita menggunakan perintah php artisan tersebut.
Menampilkan teks di browser
Untuk dapat menampilkan sebuah teks maka didalam file HaloDuniaController.php tersebut tambahkan beberapa baris kode dibawah ini didalam class HaloDuniaController
:
public function haloDunia()
{
return '<h1>Halo Dunia</h1>';
}
Code language: PHP (php)
Sehingga kalau dilihat secara keseluruhan file HaloDuniaController.php menjadi seperti dibawah ini:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HaloDuniaController extends Controller
{
public function haloDunia()
{
return '<h1>Halo Dunia<h1>';
}
}
Code language: HTML, XML (xml)
Yang perlu diingat dalam pemrograman berorientasi objek bahwa HaloDuniaController
adalah nama class, sedangkan haloDunia()
adalah method.
Lalu selanjutnya kita akan mencoba mengakses method haloDunia()
di browser. Buka file routes/web.php lalu tambahkan kode dibawah ini:
Route::get('/halo-dunia-via-controller', 'App\Http\Controllers\HaloDuniaController@haloDunia');
Code language: PHP (php)
Setelah itu cobalah anda akses di browser dengan URL seperti dibawah ini:
http://127.0.0.1:8000/halo-dunia-via-controller
Maka harusnya tampilannya seperti dibawah ini.
Kalau dilihat kode didalam routes/web.php tersebut, anda dapat mengubah URL dengan sesuka hati sesuai dengan apa yang anda inginkan, namun perlu diperhatikan penamaan URL agar mudah diingat dan tidak terlalu panjang sehingga terlihat lebih elegan.
Mengirim parameter ke controller
Sama seperti di artikel sebelumnya tentang Belajar Routing anda dapat mengirim parameter ke controller dengan cara menambahkan nama parameter di Route
dan memanfaatkan class Request
di controller.
Tambahkan sebuah method dengan nama haloNama()
seperti dibawah ini:
public function haloNama(Request $request)
{
return '<h1>Halo ' . $request->nama . '</h1>';
}
Code language: PHP (php)
Lalu di file route tambahkan baris kode dibawah ini:
Route::get('/halo-nama/{nama}', 'App\Http\Controllers\HaloDuniaController@haloNama');
Code language: JavaScript (javascript)
Setelah itu coba akses di browser anda dengan URL seperti dibawah ini:
http://127.0.0.1:8000/halo-nama/Aris
Maka seharusnya akan tampil di browser anda seperti gambar dibawah ini:
Yang perlu diperhatikan adalah pada method haloNama()
dimana ada pemberian class Request yang didefinisikan dengan variable $request
, haloNama(Request $request)
.
Class Request
tersebut telah dipanggil dibagian atas di file HaloDuniaController
seperti ini:
use Illuminate\Http\Request;
Code language: PHP (php)
Class Request
tersebut khusus untuk menangani semua permintaan yang dikirim oleh user berdasarkan nama parameternya.
Tidak hanya untuk GET
saja, untuk POST
juga sama. Apa yang kita user kirim ke controller maka pemanggilannya sesuai dengan nama parameter:
$request->nama_parameter
Code language: PHP (php)
Untuk saat ini kita tidak akan membahas bagian POST
, karena ada artikel tersendiri di bagian selanjutnya untuk membahas lebih dalam tentang POST
beserta form untuk mengirim data ke server.
Namun sebelum membahas POST
penulis ingin membahas bagian blade atau view tersebut dahulu.
Sekian pembahasan tentang belajar controller di Laravel, ikuti langkah-langkahnya dari awal agar lebih dalam memahami Laravel.