Laravel Kilat

Instalasi

Laravel  menggunakan Composer untuk proses instalasi dan  dependency management (red: mengelola semua komponen yg dibutuhkan). Jika belum ppunya, mulailah dengan menginstal Composer.

Sekarang Kamu bisa menginstal Laravel dgn mengetikkan perintah berikut di terminal:

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

Perintah diatas akan mendownload dan menginstal copy baru Laravel di folder “nama-proyek” pada direktori yg sedang aktif di terminal.

[red] Jika menginstal di localhost berarti langkahnya:

  1. buka terminal
  2. pindah ke direktori/web-root localhost
  3. jalankan perintah diatas
  4. maka akan muncul folder baru sesuai nama-proyek

Cara lain, Kamu jg bisa download Laravel repository di Github manual. Selanjutnya ketikkan perintah “composer install" pada root direktori dari hasil download (ekstrak). Perintah tadi untuk download dan instal dependency, semua komponen yg dibutuhkan sistem.

Permissions

Setelah terinstal, harus dipastikan seting “write-permission” (linux) oleh web server untuk direktori “app/storage". Lihat dokumentasi Instalasi untuk konfigurasi selengkapnya.

Struktur Direktori/Folder

Setelah selesai menginstal framework, lihatlah seluruh isi file/folder pada direktori proyek agar lebih familier dgn struktur direktorinya. direktori “app” berisi folder views, controllers dan models. sebagian besar kode program akan disimpan disini. Lihat juga direktori “app/config” dan semua konfigurasi sistem yg tersedia oleh Laravel.

Routing

Untuk yg belum paham, routing berarti mengarahkan permintaan browser ke script yg harus dieksekusi.
Untuk memulai, buatlah sebuah route. Di Laravel, route paling sederhana adalah sebuah Closure, fungsi tertutup. Buka file “app/routes.php”, tambahkan route berikut di baris terbawah:

Route::get('users', function()
{
    return 'Users!';
});

Sekarang, buka uri “/users” di browser. Bila sukses maka akan muncul tulisan “Users!”. Great! Kamu sudah membuat route.

[red] Di setiap petunjuk Laravel setiap alamat web/url yg disebutkan adalah alamat relatif (uri) terhadap alamat web proyek. Jadi jika alamat web proyek di “http://localhost/proyekan/” dan alamat uri yg disebutkan “/users” berarti yg buka “http://localhost/proyekan/users” di browser. Demikian seterusnya.

Route juga bisa disambungkan ke controller. Misalnya:

Route::get('users', 'UserController@getIndex');

Route diatas artinya bila ada permintaan ke route /users maka akan memanggil fungsi getIndex pada class UserController. Untuk informasi route dgn controller, bukalah  dokumentasi controller.

Membuat View

Selanjutnya, kita akan membuat view sederhana untuk menampilkan data user. File view ditempatkan di direktori app/views dan berisi kode HTML. Kita akan membuat 2 file view yaitu : layout.blade.php dan users.blade.php. Pertama, file layout.blade.php berisi:

<html>
    <body>
        <h1>Laravel Quickstart</h1>

        @yield('content')
    </body>
</html>

Selanjutnya, buat file users.blade.php :

@extends('layout')

@section('content')
    Users!
@stop

Beberapa sintaks mungkin terlihat aneh. Itu karena menggunakan sistem templating dr Laravel: Blade. Blade sangat cepat, karena menggunakan regular expression untuk meng-compile template menjadi skrip PHP. Blade menyediakan berbagai fungsi termasuk templating inheritance, dan juga sintaks tambahan untuk kontrol algoritma seperti as if dan for. Lihatlah Dokumentasi Blade untuk lebih detail.

Sekarang kita sudah memiliki beberapa view, kita kembali ke bagian route /users. Kita tidak lagi menulis return Users! pada route ini, melainkan  view: 

Route::get('users', function()
{
    return View::make('users');
});

Sip! Sekarang kita telah membuat view berdasarkan sebuah layout. Selanjutnya, kita akan membuat pengolahan database.

Membuat Migration

Untuk membuat tabel yg memuat data, kita menggunakan sistem migration dr Laravel. Migration berisi perintah modifikasi database secara eksplisit & mendetail (red: terutama perintah DDL) dan memudahkan untuk berbagi dgn anggota tim developer lainnya.

[red] Laravel menggunakan cara tersendiri untuk mengelola database. Walaupun sebenarnya struktur database dapat dibuat dan dimodifikasi melalui tool GUI seperti PHPMyAdmin atau SQL, Laravel menekankan untuk menggunakan metode migration. Walau terlihat rumit dan harus dioperasikan melalui terminal, hal ini akan mempermudah dalam proses dokumentasi riwayat pembentukan database, rollback serta ketika bekerja dalam tim. Sebagaimana kita tau, mengembangkan sistem sangat sensitif terhadap struktur database sedangkan memahamkan struktur dan maksud setiap item dalam database kepada setiap anggota tim programer merupakan kerumitan tersendiri. Tapi bukan berarti tool database tidak akan digunakan nantinya. Khusus untuk mengelola struktur database pada sistem laravel ini gunakanlah sistem migration ini.

Pertama, atur konfigurasi koneksi ke database. Semua seting koneksi database ada di file app/config/database.php. Defaultnya, Laravel menggunakan MySQL, dan tinggal menambahkan akun login database ke dalam file. Jika diperlukan, opsi driver database dapat diubah ke “sqlite"  untuk menggunakan database SQLite yg ada di direktori app/database.

Kemudian, membuat migration, gunakan Artisan CLI. Dari root direktori sistem Laravel, jalankan perintah berikut dr terminal:

php artisan migrate:make create_users_table

Kemudian cari file migration yg tercipta di folder app/database/migrations. File tersebut berisi sebuah class dgn 2 method: up dan down. pada method up, berisi perintah modifikasi database sesuai yg diinginkan. Dan pada method down berisi proses kebalikannya.

Buatlah file migration yg tercipta tadi menjadi seperti berikut:

public function up()
{
    Schema::create('users', function($table)
    {
        $table->increments('id');
        $table->string('email')->unique();
        $table->string('name');
        $table->timestamps();
    });
}

public function down()
{
    Schema::drop('users');
}

Kemudian jalankan migration tersebut dari terminal dgn perintah migrate. Ketikan perintah berikut dr root direktori sistem:

php artisan migrate

Jika ingin rollback kembali database ke kondisi sebelum migrasi, tinggal ketikkan perintah migrate:rollback. Sekarang tabel sudah tersedia, tinggal pengolahan datanya!

Eloquent ORM

Laravel sudah memakai ORM yg superr: Eloquent. Jika kamu pernah menggunakan framework Ruby on Rails, Eloquent akan terlihat familier, karena menggunakan style ActiveRecord ORM untuk interaksi database.

Pertama, mari kita membuat sebuah model. Sebuah model Eloquent dapat digunakan untuk query yg berkaitan dgn tabel database, sebagaimana sebuah baris dalam tabel tsb. Jangan khwatir, sebentar lagi akan dijelaskan bagaimana maksudnya. Model disimpan di direktori app/models. Buatlah sebuah model User.php seperti berikut:

class User extends Eloquent {}

Perhatikan bahwa tak perlu memberitahu Eloquent tabel mana yg digunakan. Eloquent memiliki berbagai fitur kemudahan, salah satunya adalah menggunakan bentuk plural dr nama model sebagai nama tabel yg digunakan. Jika class dinamai User maka otomatis Eloquent akan mencari & mengaitkan dgn tabel Users. Mudah kan?!

Gunakan tool database, insert beberapa baris data ke dalam tabel. Kita akan menggunakan Eloquet untuk mengambil data tsb dan menampilkannya di view.

Sekarang edit route /users menjadi seperti berikut:

Route::get('users', function()
{
    $users = User::all();

    return View::make('users')->with('users', $users);
});

Mari pahami tiap barisnya. Pertama, dgn method all di model User akan menerima semua baris pada tabel users disimpan pada variabel $users. Lalu variabel tsb diberikan ke view dgn method with. Method with menerima 2 parameter, key dan value, digunakan untuk menyerahkan variabel ke view untuk digunakan.

Sip. Sekarang kita siap menampilkan data user di view!

Menampilkan Data

Sekarang data user telah diserahkan ke view. Kita dapat menampilkannya sebagai berikut:

@extends('layout')

@section('content')
    @foreach($users as $user)
        <p>{{ $user->name }}</p>
    @endforeach
@stop

Jika kalian mencari perintah echoKetika menggunakan Blade, perintah echo dapat digantikan oleh kurung kurawal ganda seperti contoh diatas. Sebagai jalan pintas. Sekarang route /users sudha dapat dibuka dan lihatlah daftar nama dari data user yg ditampilkan.

Ini baru permulaan. Pada tutorial ini, yg kalian lihat adalah Laravel tingkat dasar, tapi akan banyak hal yg lebih menarik lagi untuk dipelajari nantinya. Tetaplah membaca keseluruhan dokumentasi laravel dan gali lebih dalam fitur yg tersedia di Eloquent dan Blade. Atau, mungkin kalian lebih tertarik pada Queues dan Unit Testing. Dan lagi, mungkin kalian ingin memvariasi arsitektur sistem dgn IoC Container. Pilihan ada di tangan kalian! 😀

Sumber: http://laravel.com/docs/quick