Laravel adalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangun dengan konsep MVC (model view controller). Laravel adalah pengembangan website berbasis MVP yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya pengembangan awal dan biaya pemeliharaan, dan untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan sintaks yang ekspresif, jelas, dan menghemat waktu.
MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika dari presentasi. MVC memisahkan aplikasi berdasarkan komponen-komponen aplikasi, seperti : manipulasi data, controller, dan user interface.
1. Model
Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data, dan lain-lain.
2. View
View adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.
3. Controller
Controller merupakan bagian yang menjembatani model dan view.

1. Model
Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data, dan lain-lain.
2. View
View adalah bagian yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.
3. Controller
Controller merupakan bagian yang menjembatani model dan view.

Berikut adalah contoh pembuatan halaman registrasi yang dibuat berdasarkan tutorial pada id-laravel.com .
Langkah 1 : Model
Membuat database user seperti berikut
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`password` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
Konfigurasi database pada app/config/database.php atau pada file .env
Membuat model
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
//
}
Langkah 2 : View
Membuat halaman form dengan nama register.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="<?php echo asset('css/kube.min.css') ?>" />
</head>
<body style="width:80%;margin:40px auto">
<?php if(Session::has('register_success')): ?>
<div class="message message-success">
<span class="close"></span>
<?php echo Session::get('register_success') ?>
</div>
<?php endif; ?>
<div class="units-container">
<form method="post" action="" class="forms">
@csrf
<h3>Form Registrasi</h3>
<label>
Email <span class="error"><?php echo $errors->first('email') ?></span>
<input type="text" name="email" value="<?php echo Form::old('email') ?>" class="width-50" />
</label>
<label>
Password <span class="error"><?php echo $errors->first('password') ?></span>
<input type="password" name="password" value="<?php echo Form::old('password') ?>" class="width-50" />
</label>
<label>
Password Confirmation <span class="error"><?php echo $errors->first('password_confirmation') ?></span>
<input type="password" name="password_confirmation" value="<?php echo Form::old('password_confirmation') ?>" class="width-50" />
</label>
<input type="submit" class="btn" value="Submit">
</form>
</div>
</body>
</html>
Langkah 3 : Routing
Membuat routing sekaligus controllernya
<?php
use Illuminate\Support\Facades\Input;
use App\User;
Route::get('/', function () {
return view('welcome');
});
Route::get('/register', function()
{
return View::make('register');
});
Route::post('/register', function()
{
// var_dump($_POST);
// 1. setting validasi
$validator = Validator::make(
Input::all(),
array(
"email" => "required|email|unique:users,email",
"password" => "required|min:6",
"password_confirmation" => "same:password",
)
);
// 2a. jika semua validasi terpenuhi simpan ke database
if($validator->passes())
{
$user = new User;
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::to("register")->with('register_success', 'Selamat, Anda telah resmi menjadi pengangguran, silakan cek email untuk aktivasi :P');
}
// 2b. jika tidak, kembali ke halaman form registrasi
else
{
return Redirect::to('register')
->withErrors($validator)
->withInput();
}
});
Hasil
Akses halaman dengan menuliskan localhost:8000/register pada url
Isikan email dan kosongkan field yang lain lalu klik submit, maka akan muncul notifikasi seperti berikut
Isikan email dan password yang pertama serta kosongkan password yang kedua lalu klik submit, maka akan muncul notifikasi seperti berikut
Isi semua field lalu klik submit, maka akan muncul notifikasi berikut
Ini adalah tampilan database sebelum ada data yang disimpan
Setelah diklik submit otomatis data user akan tersimpan pada database