Introduction to Laravel

Preview:

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

Recommended