Anda di halaman 1dari 7

1.

Expressif

Laravel adalah sebuah framework PHP yang expressif artinya ketika melihat suatu syntax Laravel,
seseorang programmer “diharapkan” akan langsung tahu keguanaan dari syntax tersebut meskipun
belum pernah mempelajarinya apalagi menggunakannya.

Simple

Salah satu yang membuat laracel begitu simple adalah adanya Eloquent ORM. Misalkan, kita ingin
mengambil semua data yang ada pada table users. Maka yang kita perlukan, hanya membuat sebuah
class model bernama User:

Kemudian kita tinggal mesukkan semua data dari table users tersebut dengan cara sebagai berikut :
$all_user = User::all();dengan begitu, semua data dari table users, akan dengan mudah diakses dengan
melakukan looping terhadap variabel $all_user.

Dikembangkan secara khusus untuk PHP 5.3

Mungkin banyak yang sudah tahu bahwa php 5.3 miliki cukup banyak fitur baru dalam segi bahasa, yang
membuat php terasa lebih modern dan powerfull. Laravel dikembangkan secara khusus untuk php 5.3,
jadi framework ini bisa memanfaatkan berbagai macam kelebihan yang dimiliki php versi terbaru
tersebut. Tidak ada backward compatibility dengan php versi sebelumnya.

Dokumentasi yang baik

Laravel dibuat dengan dokumentasi yang sangat lengkap. Core Developer dari Laravel sendiri ber-
komitmen, untuk selalu menyertakan dokumentasi yang lengkap setiap kali melakukan versi terbarunya.
2.

Raw Query

CREATE

DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);

READ

DB::select('select * from users where id = ?', [1]);

UPDATE

DB::update('update users set votes = 100 where name = ?', ['John']);

DELETE

DB::delete('delete from users');

Query Builder

CREATE

DB::table('users')->insert(['email' => 'john@example.com', 'votes' => 0]);

READ

DB::table('users')->get();

UPDATE

DB::table('users')->where('id', 1)->update(['votes' => 1]);

DELETE

DB::table('users')->where('votes', '<', 100)->delete();


Eloquent ORM

CREATE

$user = new User;

$user->name = 'John';

$user->save();

READ

$users = User::all();

UPDATE

$user = User::find(1);

$user->email = 'john@foo.com';

$user->save();

DELETE

$user = User::find(1);

$user->delete();
3.

app/Http

Direktori ini merupakan direktori yang dibuat secara khusus untuk menyimpan seluruh file-file yang
berkaitan dengan proses request dan response Http. Dikretori ini memiliki tiga buah sub direktori yang
diantaranya adalah “Controllers”, “Middleware” dan “Requests”. Berikut ini adalah penjelasan mengenai
fungsi dari ketiga buah sub direktori tersebut:
app/Http/Controllers: Direktori ini digunakan untuk menyimpan seluruh class Controller yang kita buat
seperti misalnya ProductController.php, SalesController.php, dll.

app/Http/Middleware: Direktori ini digunakan untuk menyimpan seluruh class yang berhubungan
dengna middleware PHP. Secara umum middleware adalah sebuah class yang akan dieksekusi sebelum
HTTP request yang masuk diberikan kepada Controller. Tujuan dari class Middleware adalah untuk
melakukan filter seperti misalnya menolak akses dari user yang belum login. Untuk penjelasan
lengkapnya tentang middleware bisa baca dokumentasinya disini.

app/Http/Requests: Direktori ini hanya berisikan sebuah class yaitu Request.php yang dapat digunakan
untuk mendapatkan data dari form request yang dikirim oleh web browser. Selain itu direktori ini juga
ditujukan untuk menyimpan class validator yang kita buat baik yang dibuat secara manual ataupun
dengan menggunakan perintah php artisan make:request. Untuk penjelasan lebih lanjut terkait
penggunaan validator pada laravel, bisa dibaca dokumentasinya disini.

database/migrations

Direktori ini berisikan file-file migrations yang digenerate oleh laravel pada saat kita menjalankan
perintah php artisan make:migration. fitur migration sendiri sangat berguna untuk melakukan
perubahan pada database baik itu penambahan tabel, penambahan kolom, menghapus kolom,
menghapus tabel serta melakukan roll-back setiap perubahan database yang kita buat. Fitur migration
ini akan sangat terasa manfaatnya terutama pada saat kita mengerjakan sebuah project di dalam sebuah
tim dan banyak struktur database yang berubah seiring perkembangan project. Untuk penjelasan lebih
lanjut terkait fitur migration pada laravel silahkan baca dokumentasinya disini.

database/seeds

Direktori ini berisikan file-file dabase seeds yang digenerate oleh laravel pada saat kita menjalankan
perintah php artisan make:seeder. fitur seeding di laravel sendiri sangat berguna apabila kita ingin
melakukan inisialisasi data (data awalan) pada table yang kita buat. untuk penjelasan lebih lanjut terkait
fitur seeding pada laravel silahkan baca dokumentasinya disin.

public

Pada dasarnya laravel memisahkan antara direktori public dan private. direktori public adalah direktori
dimana seluruh resource aplikasi dapat diakses melalui web browser seperti misalnya gambar, javascript
dan css. Sedangkan direktori private sendiri berisikan seluruh kode PHP yang telah kita buat ataupun
yang merupakan bawaan dari framwork laravel itu sendiri. Umumnya, dalam melakukan proses
deployment laravel yang secure, hanya direktori public ini sajalah yang diletakkan di dalam direktori
public_html pada web server sedangkan direktori lainnya diletakkan di luar direktori public_html.

resources

Direktori ini memiliki tiga buah sub direktori yaitu “assets”, “lang” dan views. Berikut ini adalah penjelas
singkat terkait fungsi dari masing-masing sub direktori tersebut:

Assets

Sejak rilis versi 5, laravel memiliki sebuah fitur yang bernama laravel elixir. Fitur ini ditujukan untuk
membantu para pengguna laravel untuk meng-compile file less, saas dan coffescript yang mereka buat.
Nah, direktori ini ditujukan untuk menyimpan resources tersebut yang nantinya akan secara otomatis
dicompile oleh laravel dengan menggunakan gulp dan dipindahkan ke dalam direktori public. Selain itu
kita juga dapat menyimpan resources berupa image atau berkas-berkas lain yang nantinya akan
dipindahkan oleh laravel kedalam direktori public dengan cara yang sama. Untuk penjelasan lebih lanjut
terkait fitur laravel elixir, silahkan baca dokumentasinya disini.

lang: Secara default laravel sudah memiliki support terhadap implementasi localization yang dapat
membantu para pengguna framework untuk menciptakan aplikasi web yang multi bahasa. Direktori ini
menyimpan seluruh definisi bahasa yang telah kita buat. Untuk penjelasan lebih lanjut terkait
penggunaan fitur localization pada laravel, silahkan baca dokumentasinya disini.

views

Direktori ini digunakan untuk menyimpan seluruh file html / template blade yang kita buat.

test

Laravel merupakan sebuah framework yang didesain dengan mindset testable framework. Oleh karena
itu, secara default laravel sudah menyediakan library-library yang dibutuhkan untuk dapat melakukan
unit testing seperti PHPUnit dan Mockery. Nah, direktori ini berfungsi untuk menyimpan seluruh file test
yang dibuat untuk kemudian dijalankan oleh PHPUnit.
4.

Anda mungkin juga menyukai