introduction to laravel

28
Introduction to Laravel By: Yogi Salomo Mangontang Pratama & M. Harits S. Adil Haqqi Elfahmi

Upload: yogi-pratama

Post on 18-Dec-2014

372 views

Category:

Documents


4 download

DESCRIPTION

File Presentasi sebagai tahap awal untuk pembelajaran pengembangan aplikasi berbasis Web dengan menggunakan framework Laravel untuk Bahasa PHP

TRANSCRIPT

Page 1: Introduction to Laravel

Introduction to Laravel

By: Yogi Salomo Mangontang Pratama

& M. Harits S. Adil Haqqi Elfahmi

Page 2: Introduction to Laravel

Outline Presentasi

• Tentang Laravel

• How to get started

• Komponen-Komponen Laravel

Page 3: Introduction to Laravel

Tentang Laravel

• Apa itu Laravel?

• Arsitektur

Page 4: Introduction to Laravel

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

Page 5: Introduction to Laravel

Arsitektur

Page 6: Introduction to Laravel

How to get started

• System Requirements

• Composer

• Instalasi Laravel

Page 7: Introduction to Laravel

System Requirements

• PHP >= 5.4

• MCrypt PHP Extension

Download it Here :

Page 8: Introduction to Laravel

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

Page 9: Introduction to Laravel

Instalasi Laravel

• Clone dari Github Laravel

• Download dari website Laravel

• Laravel Installer

• Menggunakan Composer

composer create-project laravel/laravel --prefer-dist

Page 10: Introduction to Laravel

Komponen–Komponen Laravel

• Route

• Controller

• Eloquent ORM

• View

Page 11: Introduction to Laravel

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);

Page 12: Introduction to Laravel

Macam-macam Route

• Basic GET

• Basic POST

• Any

Route::get(‘<URL>’, ‘<Fungsi>’);

Route::post(‘<URL>’, ‘<Fungsi>’);

Route::any(‘<URL>’, ‘<Fungsi>’);

Page 13: Introduction to Laravel

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 { }

Page 14: Introduction to Laravel

Macam-macam Route

• Resource Controller

• Mempermudah pengelolaan Resource. Contoh: Foto,

Session, dsb.

Route::resource(‘<URL>’, ‘<Nama Controller>’);

Page 15: Introduction to Laravel

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>));

Page 16: Introduction to Laravel

Filter

Page 17: Introduction to Laravel

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{ }

Page 18: Introduction to Laravel

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

Page 19: Introduction to Laravel

Controller

Page 20: Introduction to Laravel

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>’

Page 21: Introduction to Laravel

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 { }

Page 22: Introduction to Laravel

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.

Page 23: Introduction to Laravel

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'); }

Page 24: Introduction to Laravel

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

Page 25: Introduction to Laravel

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

Page 26: Introduction to 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

Page 27: Introduction to Laravel

View – Blade Engine

• Selain itu untuk memanggil fungsi echo dari php dapat dilakukan

dengan menggunakan {{<Nilai yang Ingin Ditampilkan>}}

Page 28: Introduction to Laravel

Thanks