PWPB | Framework Laravel
Framework Laravel
Assalamualaikum wr wb, pada blog kali ini akhirnya kita memasuki materi framework terutama salah satu framework PHP yaitu Laravel. Setelah sekian lama kita mempelajari PHP dasar dan OOP PHP sudah saatnya kita menuju materi yang lebih jauh yaitu Laravel. Pada blog kali ini yang kita akan pelajari yaitu Penjelasan Mengenai Framework, Macam-macam Framework PHP, Cara Install Laravel , dan lain-lain yang pastinya bakal ada studi kasus. Langsung saja ke materinya
A. PHP Framework
Framework adalah sebuah software untuk memudahkan para programer untuk membuat sebuah aplikasi web yang di dalam nya ada berbagai fungsi diantaranya plugin, dan konsep untuk membentuk suatu sistem tertentu agar tersusun dan tersetruktur dengan rapih.
Macam - Macam Framework PHP :
B. Konsep MVC
Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
C. Laravel
Laravel adalah
framework PHP MVC yang dikembangkan
oleh Taylor Otwell
pada tahun
2011 dan sekarang
telah
mencapai
versi
7 dan dengan
slogan laravel
“PHP
THAT DOESN’T HURT. CODE HAPPY & ENJOY THE FRESH AIR.”
Kita akan
merasa
bahwa
pemrograman
php itu
menyenangkan
dan mudah
karna
Banyak sekali
fitur-fitur
yang akan
sangat
membantu
kita
dalam
menulis
code.
D. Fitur Laravel Framework
- RESTful Routing RESTful adalah cara baru dalam mengelola request seperti GET, POST, PUT, PATCH, DELETE, STORE
- Composer Composer adalah Depedency Management PHP yang membantu programmer untuk menggunakan library. Semua dependency ini di host di packagist.org
- Command Line Tools (Artisan) Fitur command line untuk memudahkan programmer melakukan beberapa pekerjaan, misalnya membuat database migration, server application, database seeding, creating controller & model dan masih banyak yang lainnya.
- Beautiful Template Engine Laravel dilengkapi dengan template engine dengan nama Blade Template Engine untuk memudahkan penggabungan kode PHP pada HTML
- Eloquent ORM Fitur Eloquent ORM (Object Relational Model) memungkinkan penulisan kode yang berhubungan dengan objek (Entitas / Tabel pada Database) dioperasikan menggunakan konsep OOP
- Database Migration Fitur untuk menjaga histori migrasi database (CREATE, ALTER, DROP), mengaplikasikan migrasi baru ataupun mengembalikannya.
E. Penggunaan Laravel
1. Persiapan
Pastikan
versi
PHP pada komputer
anda
diatas
7.1, cek
di PHP Info
Install Composer terbaru
https://getcomposer.org/Composer-Setup.exe
2. Install Laravel via Composer
Buka cmd dan masukan command dibawah ini
3. Struktur Folder
buka cmd di dalam folder laravel kalian dan ketikan php artisan serve , setelah muncul access link yang diberikan di chrome maka akan muncul seperti di bawah :
a. ubah dan tambahkan kodingan di bawah ini kedalam file web.php
https://getcomposer.org/Composer-Setup.exe
2. Install Laravel via Composer
Buka cmd dan masukan command dibawah ini
3. Struktur Folder
Folder
utama
laravel
atau
disebut
dengan
ROOT
FOLDER
.env yaitu File konfigurasi
yang hanya
berlaku
untuk
environment
local saja
atau
dimana
file ini
berada.
composer.json yaitu File yang berisi
kumpulan
dependency
yang digunakan
di project ini.
Anda dapat
menambahkannya
dengan
perintah
composer
require atau
langsung
menulisnya
didalam
file ini
folder app yaitu Tempat
menyimpan
seluruh
file yang berhubungan
dengan
aplikasi
yang akan
dibangun
dan tempat
menyimpan
file Model
folder config yaitu Tempat
menyimpan
seluruh
file yang berhubungan
dengan
konfigurasi
aplikasi
Laravel yang akan
dibangun,
mulai
dari database, tempat
menyimpan
file hasil
upload, konfigurasi
untuk
melakukan
pengiriman
email, dan sebagainya.
folder database yaitu Tempat
menyimpan
seluruh
file yang berhubungan
dengan
database migration dan database seeder
folder public yaitu Tempat
menyimpan
seluruh
file yang nantinya
dapat
diakses
secara
publik
oleh pengguna.
Contohnya:
css,
js,
gambar
hasil
upload, file selain
gambar
yang diupload
oleh pengguna.
folder resources yaitu Tempat
menyimpan
seluruh
file views dari aplikasi
yang akan
dibangun.
Views menggunakan
template engine bernama
blade
sehingga
setiap
kali anda
membuat
file untuk
view, maka
harus
ditambahkan
ekstensi
.blade
web.php yaitu File yang berisi
kumpulan
route
dari sistem
yang akan
dibangun.
Route
ini
yang nantinya
diakses
oleh pengguna
dan diarahkan
sesuai
dengan
kode
yang kita
tulis.
4. Memulai pemogramman menggunakan Laravel
4. Memulai pemogramman menggunakan Laravel
buka cmd di dalam folder laravel kalian dan ketikan php artisan serve , setelah muncul access link yang diberikan di chrome maka akan muncul seperti di bawah :
a. ubah dan tambahkan kodingan di bawah ini kedalam file web.php
Route::get('/', function () {
return view('welcome');
});
Route::get('/belajar', function(){
echo'Belajar PHP. Tulisan ini ditampilkan dari Routes';
});
b. setelah ditambahkan , buka link belajar dan hasilnya seperti di bawah ini
c. Bentuk penulisan route
- Menulis nama-rute tidak boleh menggunakan simbol (!@#$%^&*()~`/.,;:’”)
- nama-rute tidak boleh mengandung spasi, sebaiknya spasi diganti menggunakan dash (-)
d. Buat file baru di views dengan nama belajar.blade.php yang berisi string, lalu ubah route menjadi seperti di bawah ini :
Route::get('/belajar', function(){
return view('belajar');
});
5. Studi Kasus 1
Buat
3 rute
berbeda
(bebas)
dengan
tipe
GET berdasarkan
bentuk
umum
penulisan
Route
Route::get('/belajar', function(){
return view('belajar');
});
Route::get('/dummy1', function(){
return view('dummy1');
});
Route::get('/dummy2', function(){
return view('dummy2');
});
6. Studi Kasus 2
Buat 3 views berbeda (bebas) dan panggil view tersebut di route yang sudah anda buat di studi kasus 1, hasilnya di bawah ini :
7. Studi Kasus 3 Analisis
Mengirim data ke view
a. cara 1 : Menggabungkan data dalam satu variabel array asosiatif, sehingga data yang dikirim ke view hanya 1 saja.
Route::get('/belajar', function(){
// cara 1
$data['nama'] = "Muhammad Fahru";
$data['gender'] = "Laki -Laki";
$data['ttl'] = "Bandung 9 September 2003";
return view('belajar', $data);
});
Analisis
Kelebihan : Saat memanggil data dapat dilakukan dengan mudah, yaitu cukup memanggil variabel $data atau variable dari array, yang dimana maka secara otomatis semua data di variable $data tersebut akan langsung terpanggil. jika kita memliki banyak data cara ini cukup memudahkan dalam pemogramman
Kekurangan : tidak dapat mengambil data sesuai dengan keinginan dan kebutuhan kita karena akan memanggil semua data yang ada di dalam array
b. cara 2 : Membuat variabel masing-masing untuk data yang akan dikirim ke view, gunakan compact untuk mengirimkan data ke view nya. Berdasarkan PHP documentation, COMPACT( ) adalah sebuah fungsi yang membuat ARRAY berdasarkan isi parameternya.
Route::get('/belajar', function(){
// Cara 2
$nama = "Muhammad Ozi";
$gender = "Laki - Laki";
$ttl = "Bandung 9 September 2003";
return view('belajar',compact('nama','gender','ttl'));
});
Analisis
Kelebihan : kita bisa mengambil data sesuai dengan keinginan kita dengan memanggil nama variable yang ingin kita panggil dengan cara menulis nama variablenya di parameter compact()
Kekurangan : Jika data/variable yang akan dipanggil cukup banyak, cara ini menjadi tidak efisien karena kita harus memanggil semua data secara manual/satu per satu.
Mengirim data ke view belajar dalam bentuk tabel
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
tr { font-size:20px; font-family:Moon; }
</style>
</head>
<body>
<h1>Belajar PHP. Tulisan ini ditampilkan dari Views</h1>
<table border="1" cellspacing="0" cellpadding="10" width="50%">
<tr>
<td>Nama</td>
<td>:</td>
<td>{{$nama}}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{{$gender}}</td>
</tr>
<tr>
<td>TTL</td>
<td>:</td>
<td>{{$ttl}}</td>
</tr>
</table>
</body>
</html>
Hasilnya akan sama saja cara 1 dan cara 2, seperti di bawah ini :
Kesimpulan
jadi sebenernya cara 1 dan cara 2 itu sama aja menggunakan array tapi dalam passing data ke view ada yang berbeda yaitu jenis arraynya. Jika disuruh pilih lebih baik menggunakan apa, saya sendiri akan jawab tegantung kebutuhan kita karena cara 1 dan cara 2 mempunyai kelebihannya masing masing
Mungkin cukup sekian materi framework laravel yang dapat saya berikan, semoga bermanfaat dan mohon maaf jika ada kesalahan penulisan. Wassalamualaikum wr wb.
0 Comments