Framework Laravel memanfaatkan Composer untuk pemasangan dan pengaturan ketergantungan (dependency). Jika Anda belum memiliki Composer, mulailah dengan memasang Composer.
Sekarang Anda dapat memasang Laravel dengan memberikan perintah berikut ke terminal Anda:
composer create-project laravel/laravel nama-proyek-anda --prefer-dist
Perintah ini akan mengunduh dan memasang salinan baru Laravel ke map baru nama-proyek-anda
di dalam direktori kini.
Bila Anda suka, cara lain Anda dapat mengunduh secara manual salinan repositori Laravel dari Github. Kemudian jalankan perintah composer install
di dalam direktori root proyek yang Anda buat secara manual. Perintah ini akan mengunduh dan memasang semua ketergantungan framework.
Setelah memasang Laravel, Anda perlu memberi peladen web izin tulis pada direktori-direktori di dalam app/storage
. Lihat dokumentasi Pemasangan untuk rincian pengaturan yang lebih rinci.
Untuk memulai, mari membuat route perdana kita. Pada Laravel, route paling sederhana adalah route ke sebuah Closure. Buka berkas app/routes.php
dan tambahkan route berikut pada akhir berkas:
Route::get('users', function()
{
return 'Para pengguna!';
});
Sekarang, bila Anda tuju route /users
pada peramban web, Anda akan melihat tampilan Para pengguna!
sebagai balasan. Hebat! Anda telah membuat route perdana Anda.
Route juga dapat disematkan pada kelas controller. Sebagai contoh:
Route::get('users', 'UserController@getIndex');
Route ini memberitahukan framework bahwa permintaan ke route /users
akan menjalankan metode getIndex
pada kelas UserController
. Untuk informasi lanjut mengenai controller routing, baca dokumentasi controller.
Selanjutnya, kita akan membuat view sederhana untuk menampilkan data pengguna. View terletak di direktori app/views
dan berisi HTML aplikasi Anda. Kita akan meletakkan dua view baru pada direktori ini: layout.blade.php
dan users.blade.php
. Pertama, mari buat berkas layout.blade.php
:
<html>
<body>
<h1>Memulai Kilat Laravel</h1>
@yield('content')
</body>
</html>
Kemudian, kita buat view users.blade.php
:
@extends('layout')
@section('content')
Para pengguna!
@stop
Mungkin Anda merasa beberapa sintaks terlihat ganjil. Ini karena kita menggunakan Blade --sistem templatnya Laravel. Blade sangat cepat, ini karena Blade hanya menjalankan sedikit regular expression sederhana untuk menghimpun templat menjadi PHP murni. Blade menyediakan fungsi yang sangat berguna, semisal pewarisan templat, begitu pun beberapa sintak penting pada struktur kendali PHP seperti if
dan for
. Baca dokumentasi Blade untuk lebih rinci.
Sekarang kita telah memiliki view, coba kita jadikan view tersebut sebagai kembalian dari route /users
. Alih-alih mengembalikan Para pengguna!
, dari route mengembalikan view:
Route::get('users', function()
{
return View::make('users');
});
Keren! Sekarang Anda telah menyusun view sederhana yang mana memperluas sebuah tatanan. Selanjutnya, mari mulai bekerja dengan lapis basis data.
Untuk membuat tabel sebagai penampung data kita, kita akan menggunakan sistem migrasi Laravel. Migrasi memungkinkan untuk mengekpresikan definisi perubahan basis data Anda, dan memudahkan membagikannya keseluruh anggota tim Anda.
Pertama, mari atur koneksi basis data. Anda dapat mengatur seluruh koneksi basis data yang Anda punyai dari berkas app/config/database.php
. Secara asali, Laravel diatur untuk bekerja menggunakan MySQL, dan Anda perlu memberikan mandat koneksi pada berkas pengaturan basis data. Bila Anda mau, Anda dapat mengubah pilihan driver
menjadi sqlite
dan Laravel akan menggunakan basis data SQLite yang telah disertakan pada direktori app/database
.
Selanjutnya, untuk membuat migrasi, kita akan menggunakan Artisan CLI. Dari root proyek Anda, jalankan perintah berikut dari terminal:
php artisan migrate:make create_users_table
Kemudian, cari berkas migrasi hasil ciptaan tadi pada map app/database/migrations
. Berkas ini mengandung sebuah kelas dengan dua metode: up
dan down
. Anda dapat membuat perubahan yang diinginkan pada tabel basis data pada metode up
dan pada metode down
untuk mengembalikannya.
Mari kita definisikan migrasi 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');
}
Lanjut, kita dapat menjalankan migrasi melalui terminal menggunakan perintah migrate
. Eksekusi saja perintah ini dari root proyek Anda:
php artisan migrate
Bila Anda menginginkan memutar balik migrasi, Anda dapat memberikan perintah migrate:rollback
. Nah, sekarang kita sudah memiliki tabel basis data, mari mulai menyisipkan beberapa data!
Laravel dikemas bersama sebuah ORM yang luar biasa: Eloquent. Jika Anda pernah menggunakan framework Ruby on Rails, pasti Anda merasa tidak asing dengan Eloquent, karena Eloquent mengikuti gaya ActiveRecord ORM dalam interaksi basis data.
Petama, mari definisikan sebuah model. Sebuah model Eloquent dapat digunakan untuk query sebuah tabel basis data yang terkait, maupun mewakili baris yang disajikan pada tabel tersebut. Jangan khawatir, sebentar lagi pasti faham! Model biasanya disimpan dalam direktori app/models
. Mari definisikan sebuah model User.php
pada direktori tersebut, sebagai berikut:
class User extends Eloquent {}
Perhatikan bahwa kita tidak memberitahu Eloquent mana tabel yang digunakan. Eloquent memiliki ragam kaidah, salah satunya adalah dengan menggunakan bentuk jamak dari nama model sebagai tabel basisdatanya. Enak sekali!
Gunakan piranti adminstrasi basis data yang Anda sukai, sisipkan beberapa baris ke dalam tabel users
, dan kita akan menggunakan Eloquent untuk memungut baris-baris tersebut dan menyampaikannya ke view kita.
Sekarang mari ubah route /users
menjadi seperti berikut:
Route::get('users', function()
{
$users = User::all();
return View::make('users')->with('users', $users);
});
Mari kita runut route ini. Permata, metode all
dalam model User
akan memungut seluruh baris dalam tabel users
. Kemudian kita sampaikan data ini ke view melalui metode with
. Metode with
menerima sebuah key dan sebuah value, dan ini digunakan untuk membuat bagian data tersedia ke sebuah view.
Keren. Sekarang kita siap untuk menampilkan data pengguna tadi pada view!
Sekarang kita telah menjadikan data users
tersedia pada view. Kita dapat menampilkannya seperti berikut:
@extends('layout')
@section('content')
@foreach($users as $user)
<p>{{ $user->name }}</p>
@endforeach
@stop
Anda mungkin bertanya di mana pernyataan echo
-nya. Bila menggunakan Blade, Anda dapat mengkumandang data dengan melingkupinya dengan kurung kurawal ganda. Ini tentunya memudahkan. Sekarang, Anda dapat menuju ke route /users
dan melihat nama para pengguna Anda ditampilkan sebagai balasan.
Ini hanya permulaan. Dalam tutorial ini, Anda telah melihat Laravel tingkat sangat dasar, tetapi masih banyak hal menarik untuk dipelajari. Lanjutkan membaca dokumentasi ini dan gali lebih dalam fitur-fitur berguna tersedia untuk Anda dalam Eloquent dan Blade. Atau, mungkin lebih tertarik pada Queues dan Unit Testing. Dan lagi, mungkin juga Anda ingin mengokohkan arsitektur Anda dengan IoC Container. Silakan pilih sesuka hati!