Upload
yogi-pratama
View
372
Download
4
Embed Size (px)
DESCRIPTION
File Presentasi sebagai tahap awal untuk pembelajaran pengembangan aplikasi berbasis Web dengan menggunakan framework Laravel untuk Bahasa PHP
Citation preview
Introduction to Laravel
By: Yogi Salomo Mangontang Pratama
& M. Harits S. Adil Haqqi Elfahmi
Outline Presentasi
• Tentang Laravel
• How to get started
• Komponen-Komponen Laravel
Tentang Laravel
• Apa itu Laravel?
• Arsitektur
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
Arsitektur
How to get started
• System Requirements
• Composer
• Instalasi Laravel
System Requirements
• PHP >= 5.4
• MCrypt PHP Extension
Download it Here :
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
Instalasi Laravel
• Clone dari Github Laravel
• Download dari website Laravel
• Laravel Installer
• Menggunakan Composer
composer create-project laravel/laravel --prefer-dist
Komponen–Komponen Laravel
• Route
• Controller
• Eloquent ORM
• View
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);
Macam-macam Route
• Basic GET
• Basic POST
• Any
Route::get(‘<URL>’, ‘<Fungsi>’);
Route::post(‘<URL>’, ‘<Fungsi>’);
Route::any(‘<URL>’, ‘<Fungsi>’);
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 { }
Macam-macam Route
• Resource Controller
• Mempermudah pengelolaan Resource. Contoh: Foto,
Session, dsb.
Route::resource(‘<URL>’, ‘<Nama Controller>’);
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>));
Filter
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{ }
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
Controller
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>’
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 { }
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.
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'); }
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
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
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
View – Blade Engine
• Selain itu untuk memanggil fungsi echo dari php dapat dilakukan
dengan menggunakan {{<Nilai yang Ingin Ditampilkan>}}
Thanks