PEMROGRAMAN WEB
NPM : 177006006
Kelompok : 3
TASIKMALAYA
2019
VII-1
| VII-2
MODUL VII
BASIC ROUTING, VIEW &
CONTROLLER PADA LARAVEL
<?php
/*
|-----------------------------------------------------
---------------------
| Web Routes
|-----------------------------------------------------
---------------------
|
| Here is where you can register web routes for your a
pplication. These
| routes are loaded by the RouteServiceProvider within
a group which
| contains the "web" middleware group. Now create some
thing great!
|
*/
Route::get('/', function () {
return view('welcome');
});
thing great!
|
*/
Route::get('/', function () {
return 'Hello Fadilah Salsa';
});
Output
Analisis
Pada contoh diatas dapat dieksekusi dan menampilkan tulisan yang
kita inputkan di dalam source code yaitu Hello Fadilah Salsa, artinya cara
penulisan pada contoh ini adalah benar. Jadi untuk menuliskan argument
exception tidak perlu menambahkan tulisan view dan dalam kurung
seperti contoh pertama, untuk kata yang ingin ditampilkan cukup diapit
oleh tanda petik saja.
Route::get merupakan method yang sudah ditetapkan oleh Laravel
sebagai method get. Tanda “/” menunjukkan route yang didefinisikan atau
dibuat untuk route utama atau halaman utama.
ROUTE PARAMETERS
Fungsi route parameters ini adalah mengirimkan sebuah nilai atau
parameter ke route atau ke controller. Di route parameters kita dibagi
menjadi beberapa bagian :
1. Basic Route Parameters (Dasar Route Berparameter).
2. Route Parameters (Route Berparameter Lebih dari Satu).
3. Optional Route Parameters (Opsional Route Parameter).
| VII-5
Output
Analisis
Perintah diatas digunakan untuk menampilkan Profile yang berisi
nama Fadilah Salsa. Untuk menjalankan perintah tersebut yaitu dengan
cara mengetikkan url sebagai berikut http://127.0.0.1:8000/profile/Fadilah
Salsa. Perintah Route::get merupakan method yang sudah ditetapkan oleh
Laravel sebagai method get yang berfungsi untuk menampilkan data.
Tanda “/” menunjukkan route yang didefinisikan atau dibuat untuk route
utama atau halaman utama, profile/{nama} digunakan untuk definisi /
penamaan route / urlnya sedangkan untuk {nama} adalah variable yang
dikirimkan atau parameternya, function($nama) digunakan untuk
menangkap parameter, return'Profile Nama : '.$nama; digunakan untuk
Menampilkan kalimat Profile Nama : Sesuai Parameter.
| VII-6
Output
Analisis
Perintah diatas untuk menampilkan Profile yang berisi nama dan
nilai mata kuliah. Untuk menjalankan perintah tersebut yaitu dengan cara
mengetikkan url sebagai berikut http://127.0.0.1:8000/profile/Fadilah
Salsa/P.Web. Perintah Route::get merupakan method yang sudah
ditetapkan oleh Laravel sebagai method get yang berfungsi untuk
menampilkan data. Tanda “/” menunjukkan route yang didefinisikan atau
| VII-7
Sekarang mari kita lihat contoh dari opsional route parameter ini.
Input
Output
Analisis
Perintah diatas untuk menampilkan Profile yang berisi nama.
Perintah Route::get merupakan method yang sudah ditetapkan oleh
Laravel sebagai method get yang berfungsi untuk menampilkan data.
Tanda “/” menunjukkan route yang didefinisikan atau dibuat untuk route
utama atau halaman utama, profile/{nama?} digunakan untuk define /
penamaan route / urlnya, {nama?} artinya jika parameter tidak ditemukan
akan diganti null dengan code berikut $nama = null. return $nama; ,
mengembalikan nilai parameternya.
Pada gambar pertama saya menjalankan dengan perintah url sebagai
berikut : http://127.0.0.1:8000/profile, maka yang muncul hanyalah
“Profile My Name : “ saja karena tidak adanya parameter sehingga diganti
menjadi null atau kosong.
Pada gambar kedua saya menjalankan dengan perintah url sebgai
berikut : http://127.0.0.1:8000/profile/Fadilah, maka menghasilkan
“Profile My Name : Fadilah”.
Input
Output
Analisis
Perintah diatas untuk menampilkan Profile yang berisi nama.
Perintah Route::get merupakan method yang sudah ditetapkan oleh
Laravel sebagai method get yang berfungsi untuk menampilkan data.
Tanda “/” menunjukkan route yang didefinisikan atau dibuat untuk route
utama atau halaman utama, profile/{nama?} digunakan untuk define /
| VII-10
Ada 2 cara membuat controller pada laravel, yang pertama kita bisa
membuat controller laravel dengan cara membuat langsung file controller
baru nya dalam folder app/Http/Controllers/ dan cara yang kedua kita bisa
menggunakan perintah php artisan dari laravel.
Cara Pertama
Kita mulai dengan cara yang pertama, yaitu membuat controller
laravel dengan membuat langsung file controller barunya dalam folder
controllers. Disini kita akan mengikuti format penulisan di laravel, jadi
kita akan membuat nama controller nya dengan huruf besar (kapital) di
awal nama controllernya.
Misalnya di sini saya akan membuat profile controller, yaitu
dengan cara buat file baru dengan nama ProfileController.php dalam folder
Controllers.
Input
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
//
}
Output
| VII-12
Analisis
Perhatikan syntax diatas, pada syntax diatas kita mendeklarasikan
class controller ProfileController, dengan wajib meng-extends Controller
dari laravel. Dan perhatikan penulisan classnya, kita wajib menulisakan
nama file profile controller dengan benar maksudnya penulisan controller
nya harus sama dengan nama file controller yang kita buat.
Cara Kedua
Cara kedua untuk membuat controller pada laravel ialah kita bisa
membuat controller laravel dengan mudah menggunakan php artisan.
Inilah salah satu fitur keren dari laravel, kita bisa membuat dan mengontrol
project kita dengan bantuan php artisan.
Jadi bisa kita ambil kesimpulan bahwa php artisan adalah fitur
unggulan yang ada pada laravel, yang dibuat untuk memudahkan kita
dalam pengembangan menggunakan laravel. Ada banyak sekali yang bisa
kita lakukan dengan php artisan, coba ketik php artisan pada terminal,
maka akan tampil perintah-perintah yang tersedia diphp artisan seperti
pada gambar dibawah ini.
| VII-13
Output
| VII-14
Analisis
Perintah make:controller diatas adalah perintah php artisan untuk
membuat controller. Dan ProfileController adalah nama controller yang
ingin kita buat. Maka controller ProfileController.php akan dibuat secara
otomatis dan hasilnya bisa dilihat seperti pada gambar diatas.
Output
| VII-15
Analisis
Perintah diatas akan menghasilkan error karena pada parameter
‘ProfileController@index’ tidak terpanggil karena belum adanya fungsi
index di ProfileController sehingga terjadi error. Agar tidak terjadi error
maka kita tambahkan function index pada file ProfileController.php seperti
berikut :
Input
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function index(){
return 'Ini Halaman Profile';
}
}
Output
| VII-16
Analisis
Perintah diatas digunakan untuk menampilkan sebuah kalimat “Ini
Halaman Profile” dengan menjalankan perintah url sebagai berikut :
http://127.0.0.1:8000/profile. Perintah Route::get merupakan method yang
sudah ditetapkan oleh Laravel sebagai method get yang berfungsi untuk
menampilkan data. Tanda “/” menunjukkan route yang didefinisikan atau
dibuat untuk route utama atau halaman utama, profile digunakan untuk
define / penamaan route / urlnya, ProfileController adalah nama file
ataupun class controller. index adalah method atau fungsi yang berada di
controller. Return ‘Ini Halaman Profile’ berfungsi untuk menampilkan teks
tersebut.
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function detail(){
$nama = "Fadilah Salsa";
return view('profile.detail',compact('nama'));
}
}
Output
Analisis
Perintah diatas hasilnya adalah error. Agar tidak terjadi error maka
dibuatlah view di resources/views/profile/detail.blade.php. Semua nama
file views pada laravel berekstensi namafile.blade.php. Berikut isi dari
detail.blade.php :
Input
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function detail(){
$nama = "Fadilah Salsabila";
return view('profile.detail',compact('nama'));
}
}
File name : detail.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" conten
t="ie=edge">
<title>Profile</title>
</head>
<body>
<h1>{{$nama}}</h1>
</body>
</html>
Output
Analisis
| VII-19
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function nama($nama){
return view('profile.nama', compact('nama'));
}
}
File name : nama.blade.php
<!DOCTYPE html>
| VII-20
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" conten
t="ie=edge">
<title>Profile</title>
</head>
<body>
<h1>{{$nama}}</h1>
</body>
</html>
Output
Analisis
Perintah diatas digunakan untuk menampilkan sebuah nama “Fadilah
Salsa” dengan menjalankan perintah url sebagai berikut :
http://127.0.0.1:8000/profile/detail. Perintah Route::get merupakan
method yang sudah ditetapkan oleh Laravel sebagai method get yang
berfungsi untuk menampilkan data. Tanda “/” menunjukkan route yang
didefinisikan atau dibuat untuk route utama atau halaman utama,
sedangkan untuk {name} adalah variable yang dikirimkan atau
parameternya ProfileController adalah nama file ataupun class controller.
nama adalah method atau fungsi yang berada di controller. Return
view('profile.nama',compact('nama')); berfungsi untuk mengembalikan
nilai dari view yaitu variable $nama dengan nilai variable sesuai yang
dikirimkan oleh user.
| VII-21
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function identitas(){
$data = [
'NPM' => 177006006,
'Nama' => 'Fadilah Salsabila',
'Angkatan' => 2017,
'Jenis Kelamin' => 'Perempuan'
];
return view('profile.identitas',compact('data'
));
}
}
File name : identitas.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" conten
t="ie=edge">
<title>Identitas</title>
</head>
<body>
@foreach($data as $key => $value)
<p>{{$key}} : {{$value}}</p>
@endforeach
</body>
</html>
| VII-22
Output
Analisis
Perintah diatas sama seperti sebelumnya digunakan untuk
menampilkan sebuah data yang berisi npm, nama, angkatan dan jenis
kelamin hanya perbedaannya yaitu pada ProfileController berisi data array
sehingga pada bagian view saat mempassing atau mengirimkan data
variable ke view identitas.blade.php harus menggunakan foreach seperti
pada perintah diatas. Untuk menjalankannya yaitu dengan perintah url
sebagai berikut : http://127.0.0.1:8000/profile/identitas. Perintah
Route::get merupakan method yang sudah ditetapkan oleh Laravel
sebagai method get yang berfungsi untuk menampilkan data. Tanda “/”
menunjukkan route yang didefinisikan atau dibuat untuk route utama atau
halaman utama, profile digunakan untuk define / penamaan route / urlnya,
ProfileController adalah nama file ataupun class controller. identitas
adalah method atau fungsi yang berada di controller. Return
view('profile.identitas',compact('data')); berfungsi untuk menampilkan
nilai dari variable $data yang berada di function identitas.