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

Introduction to Laravel

  • 1.
    Introduction to Laravel By:Yogi Salomo Mangontang Pratama & M. Harits S. Adil Haqqi Elfahmi
  • 2.
    Outline Presentasi • TentangLaravel • How to get started • Komponen-Komponen Laravel
  • 3.
    Tentang Laravel • Apaitu Laravel? • Arsitektur
  • 4.
    Apa itu Laravel? “Frameworkgratis dan open source untuk pengembangan aplikasi berbasis web dan dirancang untuk pola pengembangan MVC ( Model, View, Controller )” Taylor Otwell MIT License Github
  • 5.
  • 6.
    How to getstarted • System Requirements • Composer • Instalasi Laravel
  • 7.
    System Requirements • PHP>= 5.4 • MCrypt PHP Extension Download it Here :
  • 8.
    Composer • Dependency Manageruntuk 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 • Clonedari Github Laravel • Download dari website Laravel • Laravel Installer • Menggunakan Composer composer create-project laravel/laravel --prefer-dist
  • 10.
    Komponen–Komponen Laravel • Route •Controller • Eloquent ORM • View
  • 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 • BasicGET • Basic POST • Any Route::get(‘<URL>’, ‘<Fungsi>’); Route::post(‘<URL>’, ‘<Fungsi>’); Route::any(‘<URL>’, ‘<Fungsi>’);
  • 13.
    Macam-macam Route • RESTfulController • 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 { }
  • 14.
    Macam-macam Route • ResourceController • Mempermudah pengelolaan Resource. Contoh: Foto, Session, dsb. Route::resource(‘<URL>’, ‘<Nama Controller>’);
  • 15.
    Filter • Membantu membatasiakses 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>));
  • 16.
  • 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 yangdikembalikan 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
  • 19.
  • 20.
    Validator • Berfungsi untukmembantu 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 • <NamaDomain> / 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 • BeberapaQuery 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 • MendukungRelationship 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 • MendukungSoft 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 – BladeEngine • <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 – BladeEngine • 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 – BladeEngine • Selain itu untuk memanggil fungsi echo dari php dapat dilakukan dengan menggunakan {{<Nilai yang Ingin Ditampilkan>}}
  • 28.