Sudah berapa banyak framework PHP yang anda coba? Pernahkah anda mencoba memakai framework Laravel? Atau belum paham apa itu framework PHP? Ok saya akan menjelaskan terlebih dahulu apa itu framework PHP. Framework adalah alat yang mempermudah kita dalam membuat program. Umpamakan anda ingin membuat baju, ...

Berkenalan Dengan Framework Laravel

Sudah berapa banyak framework PHP yang anda coba? Pernahkah anda mencoba memakai framework Laravel? Atau belum paham apa itu framework PHP? Ok saya akan menjelaskan terlebih dahulu apa itu framework PHP. Framework adalah alat yang mempermudah kita dalam membuat program. Umpamakan anda ingin membuat baju, anda harus membeli benang, mengubahnya menjadi kain, membuat pola, memotong kain, lalu menjahitnya. Dengan framework anda tidak perlu melakukan itu semua karena sudah disediakan kain dan pola bajunya sehingga anda hanya perlu menjahitnya. Begitu juga dengan PHP , dalam suatu framework sudah disediakan berbagai fungsi-fungsi yang sering dipakai seperti Form, Validation, Request/Response, Localization, dll.

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

Route::get('/user', array('uses' => 'showUser@UserController')); 


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

{
"require": {
"brinanesbit/carbon": "~1.6"
}
}

Setelah itu

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

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

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. ini Tutorialnya.

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, untuk lebih jelasnya anda dapat belajar di sini

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

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:

Session::set('nama', 'David');
Route::get('/user', 'uses' => 'index@UserController');
Form::text('nama');

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

$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

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.


About Author

David Aditya Yoga Pratama

Menikmati hidup dengan pengetahuan, humor, coding, dan jalan-jalan. Freelance Programmer, full time lover. Fast learner, easy-going.


Comment & Discussions

  • LaraNewBie (Guest)
    Mohon tutorial ny lbih banyak lgi y, Gan..
    tutorial laravel ni adlh nice sharing..

  • Please LOGIN before if you want to give the comment.