Laravel adalah framework PHP yang gratis dan terbuka untuk membangun aplikasi web berbasis MVC. Laravel memiliki komponen-komponen seperti route, controller, Eloquent ORM, view, dan lainnya. Route digunakan untuk memetakan URL ke fungsi controller, controller berinteraksi dengan model dan mengembalikan nilai ke klien, sedangkan view digunakan untuk merepresentasikan tampilan yang diberikan kepada pengguna.
4. Apa itu Laravel?
“Framework gratis dan open source untuk pengembangan
aplikasi berbasis web dan dirancang untuk pola
pengembangan MVC ( Model, View, Controller )”
Taylor Otwell MIT License Github
8. Composer
• Dependency Manager untuk bahasa pemrograman PHP.
• Cara Mendapatkan:
• Ketik perintah berikut pada terminal:
• Atau download installer-nya ( khusus Windows ) pada:
php -r "readfile('https://getcomposer.org/installer');" | php
9. Instalasi Laravel
• Clone dari Github Laravel
• Download dari website Laravel
• Laravel Installer
• Menggunakan Composer
composer create-project laravel/laravel --prefer-dist
11. Routes
• <Nama Domain> / app / routes.php
• Memetakan URL kepada fungsi-fungsi pada Controller
• Pada URL dapat ditambahkan parameter untuk dikirimkan kepada
fungsi.
• <Fungsi> dapat diisi dengan fungsi dari Controller maupun fungsi
anonymus yang langsung diimplementasikan pada route
Route::<Metode Route>(‘<URL>’, ‘<Fungsi>’);
Route::get(‘url/{var?}’, function($var = default);
12. Macam-macam Route
• Basic GET
• Basic POST
• Any
Route::get(‘<URL>’, ‘<Fungsi>’);
Route::post(‘<URL>’, ‘<Fungsi>’);
Route::any(‘<URL>’, ‘<Fungsi>’);
13. Macam-macam Route
• RESTful Controller
• URL dipetakan kepada Controller tertentu. Fungsi yang
dipanggil sesuai dengan bagian akhir dari URL
• Contoh URL: ‘user/view’ maka fungsi yang dipanggil pada
controller getView / postView.
Route::controller(‘<URL>’, ‘<Nama Controller>’);
public function getView {
}
public function postView {
}
public function putView {
}
15. Filter
• Membantu membatasi akses kepada suatu route tertentu
• Cara mendefinisikan:
• Ini
• Pada file filter.php
• Cara mengimplementasikan:
Route::filter(‘<nama>’, <Fungsi>);
Route::get(‘<URL>', array('before' => ‘<Nama Filter>',
<Fungsi>));
17. Controller
• <Nama Domain> / app / controllers
• Fungsi-fungsi yang berinteraksi dengan model dan mengembalikan
berbagai nilai kepada client.
• Jenis-jenis:
• Basic
• RESTful
• Resource
class <Nama Controller> extends BaseController{
}
18. Controller
• Nilai yang dikembalikan oleh Controller:
• Datatype ( boolean, integer, dll)
• View
• withInput : dengan nilai input dari Form
• withError : dengan pesan Error dari validator
• with : dengan model yang di-binding ke variabel
• Redirect
• JSON
20. Validator
• Berfungsi untuk membantu melakukan validasi terhadap input yang
diberikan pada form
• Rules didefinisikan dengan cara disimpan dalam sebuah Array
dengan format:
• Daftar Rules dapat diperiksa di website Laravel
• Messages berisi pesan Error yang ingin dibuat khusus, didefinisikan
dengan cara disimpan pada sebuah Array dengan format:
$<Nama Variabel> = Validator::make( <Input>, <Rules>,
<Messages>);
‘<Nama Field>’=> ‘<Rules1>|<Rules2>|…’
‘<Nama Rule>’=> ‘<Isi Pesan>’
21. Eloquent ORM
• <Nama Domain> / app / models
• Merepresentasikan Tabel sebagai sebuah objek pada aplikasi
• Atribut:
• table : Mendefinisikan nama tabel yang digunakan
• guarded : kolom pada tabel yang tidak boleh di-mass assignment
• fillable : Mendefinisikan kolom yang boleh di-mass assignment
class <Nama Model> extends Eloquent {
}
22. Eloquent ORM
• Beberapa Query pada Model:
• Model::all();
• Model::find(1);
• Model::where(‘<Atribut>', ‘<Operator>',
‘<Nilai>');
• Untuk melakukan penyimpanan ke database, dilakukan pemanggilan
fungsi save() oleh Model.
23. Eloquent ORM
• Mendukung Relationship Mapping antar tabel pada database:
• One To One
• Many To Many
• One To Many
• public function author() {
return $this->belongsTo('Author','author_id');
}
24. Eloquent ORM
• Mendukung Soft Delete, yaitu tidak langsung menghapus data pada
database melainkan memberikan Timestamp pada atribut
deleted_at. Beberapa fungsinya antara lain:
• withTrashed() : Memasukkan yang sudah di delete
• onlyTrashed() : Hanya yang sudah di delete
• restore() : Mengembalikan yang sudah di delete
25. View – Blade Engine
• <Nama Domain> / app / views
• File pada view disimpan dengan format: <Nama File>.blade.php
• Merepresentasikan tampilan yang akan diberikan pada user.
• Blade: Engine untuk melakukan templating pada Laravel
26. View – Blade Engine
• Beberapa fungsi yang terdapat pada Blade Engine:
• @extends : memanggil/meng-inherit file view lainnya
• @section : Mengisi suatu section pada view yang di-inherit
• @endsection : Mengakhiri pengisian suatu section
• Control Structures:
• @if, @else, @elseif & @endif
• @for & @endfor
• @while & @endwhile
• @foreach & @endforeach
27. View – Blade Engine
• Selain itu untuk memanggil fungsi echo dari php dapat dilakukan
dengan menggunakan {{<Nilai yang Ingin Ditampilkan>}}