Apa Itu Laravel ?

Laravel sendiri adalah framework PHP MVC yang dikembangkan oleh Taylor Otwell  pada tahun 2011 dan sekarang telah mencapai versi 4.2. Banyak sekali fitur-fitur yang sangat membantu kita dalam framework laravel ini. Dan yang menarik adalah slogan dari Laravel “PHP THAT DOESN’T HURT. CODE HAPPY & ENJOY THE FRESH AIR.” para pembuat Laravel percaya bahwa proses pengembangan program harus menjadi hal yang menyenangkan, jadi bisa kita bayangkan seperti apa rasanya membuat program dengan Laravel ini.

MENGAPA LARAVEL
Mengapa kita harus mencoba Laravel? Kita lihat saja dari fitur-fiturnya yang akan saya jelaskan satu persatu

1. RESTful Routing
RESTful adalah cara baru dalam mengelola request, untuk lebih jelasnya saya sarankan anda menonton video yang satu ini Teach A Dog To Rest intinya kita berbicara dengan website dengan method-method standar REST seperti GET, POST, PUT, PATCH, DELETE, STORE, dll

Laravel sendiri adalah framework yang cukup unik, jika biasanya kita hanya perlu membuat controller dan berisi method tertentu misal “UserController dengan method showUser” lalu kita bisa mengakses www.situskita.com/user, di laravel kita harus melakukan sesuatu yang berbeda untuk dapat mengakses url tersebut yaitu menambahakan

1
Route::get('/user', array('uses' => '[email protected]'));

pada file routes.php. Maksudnya adalah Request dengan method “GET” dan url user akan diarahkan pada UserController method showUser. Apa keuntungannya? tentu dengan adanya file routes.php ini kita tahu apa saja url dan fitur yang ada dalam website kita dan kemana larinya (controllernya) tentu memudahakan kita dalam proses pengembangan dan perbaikan error.
2. Composer Powered
Sebagai programmer terutama PHP kita banyak “reinvent the wheel” maksudnya mengulangi pekerjaan yang tidak perlu kita lakukan lagi, contoh nyatanya kita membuat Library untuk memvalidasi data, padahal kita tinggal download dan pakai. Degan adanya composer, pekerjaan kita sangat dibantu.

Composer sendiri adalah Depedency Management PHP yang membantu kita untuk mencari library yang ingin kita pakai dan menginstalnya, semua library dari composer dihost di packagist.org dan laravel sendiri juga kita install melalui Composer.

Kasus yang biasa kita temui yaitu
a. Menemukan library yang kita sukai tetapi ada di framework lain
b. Menemukan library yang sesuai tp repot untuk menginstallnya setiap memulai project baru

Dengan composer kita hanya perlu membuat sebuah file yang bernama composer.json yang berisi library apa yang kita perlukan contohnya kita memerlukan library Carbon untuk manipulasi tanggal, kita hanya perlu mengetikkan

1
2
3
4
5
{
"require": {
"brinanesbit/carbon": "~1.6"
}
}

Setelah itu

1
2
curl -s http://getcomposer.org/installer | php
php composer.phar install

dan terakhir include vendor/autoload pada awal file index.php anda

1
require 'vendor/autoload.php';

dan library carbon sudah dapat anda pakai

Oh iya untuk tau lebih lanjut silakan kunjungi website composer untuk cara instalasi composer di komputer anda dan dokumentasi lengkap composer, dan tunggu pembahasan saya selanjutnya tentang composer

3. Command Line Tools (Artisan)
Apakah sistem operasi yang anda pakai? Linux? Jika iya mungkin anda sudah terbiasa dengan command line, bagi yang belum terbiasa jangan berkecil hati karena menguasai command line tidak sesulit yang kita kira, kita bahkan dapat melakukan pekerjaan dengan lebih cepat.

Laravel sendiri telah dibekali dengan command line tools bernama “Artisan” apa saja yang bisa dilakukan oleh artisan?
1. Database Migration
2. Serve application (tanpa perlu menaruhnya di htdocs, keren kan?)
3. Merubah status aplikasi menjadi down dan up
4. Database Seeding (Memasukkan data awal ke database)
5. Tail (Melihat log server secara realtime)
6. Dan masih banyak lagi
4. Test Driven Development Ready

Test driven development adalah cara baru pengembangan software, dimana kita menulis test code terlebih dahulu sebelum kita menulis kode sebenarnya. Laravel sendiri memakai PHPUnit sebagai test frameworknya.

5. Beautiful Templating Engine
Templating engine, adalah program yang memparse syntax template engine tersebut ke HTML. Laravel sendiri memiliki templating engine yang powerful bernama blade, sebenarnya dalam pembuatan program di laravel, kita bisa memilih untuk menggunakan pure PHP atau templating engine hanya dengan penamaan filenya. Untuk menggunakan blade penamaan file viewnya menjadi namafile.blade.php

Seperti apakah enaknya blade

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Di PHP Biasa
Nama anda <?php echo $nama; ?>
Di Blade
Nama anda {{ $nama }}
Di PHP Biasa
if (isset($nama)) {
Nama anda <?php echo $nama; ?>
}
Di Blade
@if (isset($nama))
Nama anda {{ $nama }}
@endif
Di PHP Biasa
foreach ($dataKaryawan as $karyawan){
echo $karyawan->nik;
echo $karyawan->nama;
}
Di Blade
@foreach ($dataKaryawan as $karyawan)
{{ $karyawan->nik }}
{{ $karyawan->nama }}
@endforeach

dan di blade ini kita bisa membuat layout, biasanya saat kita membuat website yang berubah hanya isinya kan tp header, menu, dan footernya tidak, cara lengkapnya ada di Blade Template Engine

6. Elegant Code
Laravel dibangun dengan design pattern facade, berarti kita tidak perlu berurusan dengan API dari library-library yang rumit, kita hanya perlu mengaksesnya dengan cara yang sangat mudah tanpa harus meload class tersebut dan menginstansiasi class tersebut. Contohnya:

1
2
3
Session::set('nama', 'David');
Route::get('/user', 'uses' => '[email protected]');
Form::text('nama');

cepat dan mudah bukan? kita tidak perlu menginstansiasi class dan mengincludenya seperti dibawah ini

1
2
$sess = new Session();
dll

7. Eloquent ORM
ORM(Object Relational Model) laravel bernama Eloquent ini memiliki beberapa kelebihan dari ORM lainnya, saya akan tunjukkan bagaimana enaknya menggunakan ORM Eloquent ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Menentukan Table
nama table bersifat plural dan model singular. Contoh:
nama Model:User
nama Tabel:users
atau jika nama table berbeda
protected $table = 'karyawan';
Menentukan Primary Key
protected $primaryKey = 'nik';
Select Semua User
User::all();
Insert Data
User::create('nik' => 1234, 'nama' => 'David');
Delete Data
$user = User::find(1234);
$user->destroy();
Kriteria Select
User::where('nama', '=', $nama)->get();
Relationship
public function post()
    {
        return $this->belongsTo('Post');
    }

8. Fitur-Fitur WOW
1. Queque
2. SSH
3. Authentication
4. Pagination
5. Session
6. Redis Support
7. Schema Builder
8. Mail
9. Validator
10. Session

Apakah anda tertarik mencoba laravel? Tunggu tutorial berikutnya mengenai cara install laravel dan cara membuat website dengan sangat cepat dan mudah menggunakan laravel.

Posted Under