Ebook Laravel 4
Ebook Laravel 4
Materi
: seputarpemograman.com
Perangkum
: drafshare.blogspot.com
{ GRATIIIIIISSSSSSSSSSSSSSSS }
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
DAFTAR ISI
BAB I ............................................................................................................................................................. 5
1.
Belajar Dasar Form Framework Laravel Dan Latihan Membuat Form Sederhana ......................... 24
Cara Membangun Create, Read, Update dan Delete Menggunakan Query Builder di Laravel ...... 37
BAB VII......................................................................................................................................................... 46
7. Membuat Create, Read, Update dan Delete Menggunakan Eloquent ORM dan RESTful Resource
Controllers Laravel .................................................................................................................................. 46
BAB VIII........................................................................................................................................................ 57
8.
Memanfaatkan Auth Bawaan Laravel Untuk Membuat Authentication User Sederhana ............. 57
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Cara Menggunakan package sentry di framework laravel bagian install dan register ................... 67
Cara Menggunakan package sentry di framework laravel bagian CRUD Group ........................ 74
BAB XI ......................................................................................................................................................... 83
11.
Cara Menggunakan package sentry di framework laravel bagian CRUD User ........................... 83
Cara Menggunakan Package Sentry Di Framework Laravel Bagian Authentication Dan Login .. 93
Catatan :
-
Isi pada ebook ini hanya untuk pembelajaran dasar dan pengenalan Framework Laravel,
adapun jika anda ingin menegetahui lebih lanjut tentang laravel sangat di sarankan untuk
mengunjungi dokumentasi resmi laravel.
Kami tidak menyertakan langkah instalasi karena langkah ini dengan mudah dapat di temukan
dengan browsing #dilarang malas :p
Ebook banyak kekurangan dan penyusunan tidak rapi ? Kan Gratissss :D
Lisensi :
-
Isi Ebook boleh di sunting dan di bagikan dengan syarat menyertakan sumber serta tidak untuk
tujuan komersil.
Sebelum mengubah silahkan kontak kami melalui email yang tertera di awal ebook
#MORE
Tutorial dan Ebook lainnya silahkan berkunjung ke :
- Seputarpemograman.com
- Drafshare.blogspot.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Kata Pengantar
Laravel Framework Laravel Dibuat oleh Taylor Otwell, proyek Laravel dimulai pada April
2011. Saat ini pengembangnya bekerja pada UserScape. Awal mula proyek ini dibuat karena
Otwell sendiri tidak menemukan framework yang up-to-date dengan versi PHP.
Mengembangkan framewrok yang sudah ada juga bukan merupakan ide yang bagus karena
keterbatasan sumber daya. Dikarenakan beberapa keterbatasan tersebut, Otwell membuat sendiri
framework dengan nama Laravel.
Laravel adalah framework aplikasi web yang ekspresif, sintaks yang elegan. Kami percaya
pembangunan harus menjadi menyenangkan, pengalaman kreatif yang akan benar-benar
memuaskan Laravel berupaya untuk mengurangi penderitaan pembangunan web dengan
mengurangi tugas-tugas umum digunakan dalam sebagian besar proyek-proyek web, seperti
otentikasi, routing, sesi, dan caching.
Laravel bertujuan untuk membuat proses pembangunan web yang menyenangkan bagi
pengembang tanpa mengurangi fungsionalitas aplikasi.Untuk tujuan ini, lavarel telah mencoba
untuk menggabungkan/mengadopsi fitur-fitur terbaik dari apa yang telah kita lihat dalam
framework lain, yakni mengimplementasikan framework dalam bahasa lain, seperti Ruby on
Rails, ASP.NET MVC, dan Sinatra.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB I
1. Asyiknya, Belajar Dasar Routing Framework Laravel
Pada tutorial laravel tahap ketiga ini kita akan membahas routing di framework laravel. Dari
judul artikel atau tutorial ini " Asyiknya, Belajar Dasar Routing Framework Laravel", mengapa
saya menyebutkan asyik belajar routing. Dengan routing secara sederhananya kita dapat
menuliskan atau mensetting nama url website yang akan kita bangun. contohnya saja
www.seputarpemrograman.com/{uri maupun parameter yang kita inginkan}.
Dalam routing kita akan mengenal yaitu GET dan POST, pastinya sudah tidak asing lagi bagi
yang terbiasa belajar atau membuat website. Secara gamblang kita bisa melihat
perbedaannya, GET data dan parameter akan terlihat di url sedangkan POST tidak terlihat di url.
Tapi framework laravel bagian routing GET dan POST ini mempunyai cara kerja yang berbeda
dan yang dimaksud bukan $_GET maupun $_POST kalau dilaravel $_GET dan $_POST ini
bisa kita pelajari di bagian basic input di laravel.com contohnya Input::get(name); . Tapi
ditutorial ini atau didalam routing laravel GET disini digunakan untuk menampilkan, parsing
atau mengirimkan data. Sedangkan POST digunakan untuk menangani sebuah form untuk
menerima hasil inputan data.
Di laravel maupun di dunia programming kita pasti mengenal istilah RESTful. RESTful
mempunyai beberapa method selain $_GET dan $_POST yaitu PUT/PATCH dan DELETE. Apa
itu RESTful, RESTful merupakan sebuah teknik di arsitektur software untuk sistem terdistribusi
seperti World Web Wide. Contoh nyata penggunaan Restful itu sendiri seperti kita berkunjung di
sebuah web comtohnya saja 4.shared lalu kita bisa login dengan akun facebook.Tapi ditutorial
ini kita tidak akan membahas lebih dalam mengenai RESTful.
Di tutorial ini saya tidak akan membahas mengenai method POST, karena method ini akan saya
bahas di tutorial form laravel. Sedangkan RESTful akan saya bahas di tutorial membuat crud.
Pada Tahap ini kita hanya akan membahas penggunaan GET.
Catatan : routing dapat didefinisikan atau dituliskan di foder app lalu file routes.php.
GET , method ini dalam laravel biasanya digunakan untuk menampilkan view maupun data.
Buka Project yang telah di install, Jika belum install laravel silahkan ikuti tutorial install Belajar
Install Framework Laravel Dengan Composer Maupun Tanpa Composer. Jika sudah silahkan
dibuka projectnya cari file routes.php berada dalam folder app.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Secara dasar penggunaan dasar route sebagai berikut, silahkan buka file routes.php anda akan
menemukan code seperti dibawah ini.
1 Route::get('/', function()
2 {
return View::make('hello');
3 });
4
Code diatas silahkan dihapus dan diganti menjadi seperti dibawah ini.
1 Route::get('/',function()
2 {
return'Ini Contoh Halaman Home';
3 });
4
Route::get adalah method digunakan untuk route dengan method get seperti yang dijelaskan
diatas.
Tanda '/', menunjukan route yang di definisikan atau dibuat untuk route utama atau halaman
utama contoh seperti seputarpmrograman.com bukan seputarpmrograman.com/tutorial-laravel.
return'Ini Contoh Halaman Home'; menunjukan mengembalikan suatu nilai yang berisi Ini
Contoh Halaman Home.
Untuk cara menjalankan hasil route diatas silahkan ketik url :
1 <a
href="projectlaravel/public/">http://localhost/projectlaravel/public/</a>
Hasilnya menampilkan
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Fungsi route parameters ini adalah mengirimkan sebuah nilai atau parameter ke route atau ke
controller. Di route parameters kita dibagi menjadi beberapa bagian :
1.
2.
3.
4.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1 http://localhost/projectlaravel/public/profile
maka hasilnya akan blank page / kosong, jika dijalankan seperti ini
1 http://localhost/projectlaravel/public/profile/Andri
Maka menghasilkan Profile Nama : Andri.
4. Optional Route Parameters With Defaults (Opsional Route Parameter dengan Nilai
Default)
Opsional Route Parameter dengan Nilai Default ini hampir sama dengan Opsional Route
Parameter Cuma perbedaannya hanya kita bisa memberikan nilai default pada suatu parameter
jika parameternya tidak ditemukan, contohnya :
1 Route::get('profile/{nama?}', function($nama = 'Andri')
2 {
return $nama;
3 });
4
profile/{nama?} , digunakan untuk define / penamaan route / urlnya, {nama?} artinya jika
parameter tidak ditemukan akan diganti null dengan code berikut $nama = 'Andri'.
Coba jalankan dengan perintah / url seperti ini :
1 http://localhost/projectlaravel/public/profile
maka yang ditampilkan Profile Nama : Andri karena defaultnya Andri jika kita rubah umpama
Rudi maka yang dihasilkan Profile Nama : Rudi.
Itulah dasar route yang perlu diketahui, dan masih banyak yang lain tentang route tapi kita akan
pelajari dengan berjalan, maksudnya dengan belajar yang lain. Kalau kita pelajari langsung
semua bagi pemula ataupun yang belum pernah tau apa itu route maka akan menjadi bingung.
Catatan : Untuk tes code diatas usaha kan code yang lain didalam routes.php dinonaktifkan
dengan memberi komentar pada code terserbut agar tidak bentrok dan lebih tau fungsi yg mana
yang sedang berjalan.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB II
2. Memahami Dasar Controller dan view di Framework
Laravel
Setelah belajar routing laravel di tutorial Belajar Dasar Routing Framework Laravel .
Selanjutnya belajar memahami cara kerja controllers dan views di Framework Laravel.
Bagaimana cara kerja antara routing, controller, view dan model. Sebelumnya kita harus tau
konsep MVC, M adalah Model , Model digunakan untuk query atau proses mengambil data dari
databas. V adalah View, View digunakan untuk tampilan user berupa html, css, js dan data yang
bersifat client. Sedangkan C adalah Controller yang digunakan untuk mangatur atau
menjembatani antara model dan view atau bisa digunakan untuk mengatur alur program. Berikut
ini gambar dari MVC.
Di tutorial kali ini kita akan hanya membahas Controller dan View. Dari belajar routing
sebelumnya kita akan menggabungkan dengan controller dan view. Jika belum silahkan lihat
tutorial Asyiknya, Belajar Dasar Routing Framework Laravel. Untuk persiapan buka file
routes.php anda dan didalam folder controllers buat file dengan nama ProfileController.php.
Setelah itu ProfileController.php isi dengan code berikut :
1
2
3
4
5
6
< ?php
class ProfileController extends BaseController {
}
//Untuk spasi diantara tanda < dan ? silahkan dihapus
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Sekarang penjelasan dari code didalam routes.php yang telah diganti sebelumnya
1 Route::get('/', 'ProfileController@index');
Route::get adalah method digunakan untuk digunakan untuk menampilkan view maupun data.
Tanda '/', menunjukan route yang di definisikan atau dibuat untuk route utama atau halaman
utama contoh seperti seputarpmrograman.com bukan seputarpmrograman.com/tutorial-laravel.
ProfileController , adalah nama file ataupun class controller.
index , adalah method atau fungsi yang berada di controller.
Untuk mencoba menajalankan program sama seperti sebelumnya ketikan url seperti ini
1 http://localhost/projectlaravel/public/
Hasilnya pun sama seperti tutorial routing, Itu adalah Cara Dasar menggunakan Controller.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Keterangan code :
Route::get('profile/{nama}', 'ProfileController@profile');
profile/{nama}, menunjukan route yang di definisikan. {nama} adalah parameter.
ProfileController , adalah nama file ataupun class controller.
profile , adalah method atau fungsi yang berada di controller.
public function profile($nama) . adalah sebuah fungsi bernama profile yang menangkap sebuah
parameter dengan variabel nama.
return'Profile Nama : '.$nama; , mengembalikan nilai dari parameter nama.
Untuk menjalankannya juga masih sama seperti tutorial sebelumnya.
1 http://localhost/projectlaravel/public/profile/Andri
Hasilnya pun juga sama.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
12
return View::make('profile',$data); // Parsing data ke dalam view lalu
13
ditampilkan.
14
15
}
16
Dan yang terakhir ganti code didalam routes.php ini
1 Route::get('profile/{id}/{nama}',function($id, $nama)
2 {
return'Profile ID / Nama : '.$id.' / '.$nama;
3 });
4
Menjadi seperti ini
1 Route::get('profile/{id}/{nama}', 'ProfileController@profileview');
Keterangan code :
$data =
[
'id' => $id, // Menyimpan nilai dari variable id ke dalam array
'nama' => $nama // Menyimpan nilai dari variable nama ke dalam array
];
Code diatas adalah menyimpan nilai dari variabel id dan nama kedalam variabel data berbentuk
array.
return View::make('profile',$data); , digunakan untuk memanggil atau menampilkan file di
folder views dan data. 'profile' disini adalah nama file yang berada didalam folder views. $data
adalah data berbentuk array yang dikirim ke dalam view atau profile.php di folder views.
Catatan : tutorial diatas hanya dasar atau sebagian kecil dari materi controller dan view. Tapi
tutorial diatas sudah lebih dari cukup untuk mengenal atau memahami laravel, setelah paham
tutorial diatas anda dapat belajar lebih dalam lagi di laravel.com. Tujuan tutorial ini hanya
untuk mengenalkan saja tidak semua dibahas disini. Untuk tentang model akan kita bahas di
tutorial CRUD laravel.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB III
3. Memanfaatkan Blade Templating Laravel Untuk
Memadukan Template Bootstrap
Di Tahap atau tutorial ini kita akan mempelajari blade dan cara memanfaatkannya. Blade
adalah template engine yang disediakan oleh framework laravel atau bawaan dari framework
laravel. Blade adalah konversi dari bahasa pemrograman PHP ke Blade itu sendiri agar lebih
mudah dipahami dan lebih singkat. Kenapa kita harus menggunakan Blade ? Karena dengan
menggunakan blade dalam mengatur layout web yang kita bangun akan lebih mudah. Mudah
disini jika anda sudah mengetahui dasar dasar blade itu sendiri.
?>
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
@if ('A'==='A')
@{{ Betul ini
@elseif ('B'==='B'
@{{ Betul ini
@else
@{{ Ini Bukan
@endif
adalah A }}
)
adalah B }}
A dan B }}
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Untuk persiapan membuat templating sederhana menggunakan laravel ini, berikut yang perlu
dipersiapkan :
Pada tahap pertama didalam folder sb-admin hasil template download bootstrap, copy folder css,
js, font awesome dan folder font, lihat gambar dibawah ini.
Folder diatas pindahkan ke folder assets didalam folder public poject anda, kalau ditutorial ini
projectlaravel. Jika belum ada folder assets buat dahulu. Jika sudah buka file bernama blankpage.html di folder template boostrap, copy semua code paste ke file master.blade.php.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1
2
3
4
5
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Sekarang masih di master.blade.php kali ini kita akan mengambil code untuk sidebar.blade.php.
ambil code diantara <! -- Sidebar Menu Items - These collapse to the responsive navigation
menu on small screens --> sampai dengan <! -- /.navbar-collapse --> paste atau taruh dalam file
sidebar.blade.php. tempat code yang baru kita ambil silahkan ditambahkan code berikut ini.
1 @include('includes.sidebar')
Harusnya tampilan code di master.blade.php anda nampak seperti gambar dibawah ini.
Untuk selanjutnya yaitu cari di folder views file yang bernama profile.php lalu rubah namanya /
rename menjadi profile.blade.php. Kemudian isi file itu ganti dengan code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Profile< /small>
< /h1>
Profile ID / Nama : {{{ $id }}} / {{{ $nama }}}
< /div>
< /div>
@stop
//Untuk spasi diantara tanda < dan div, /div, h1 ,/h1 ,small, /small
silahkan dihapus
Kembali buka master.blade.php diantara < !-- Page Heading --> sampai dengan < !-- /.row -->
code didalamnya silahkan dihapus dan diganti dengan code berikut.
1 @yield('content')
Sehingga di master.blade.php menjadi seperti gambar ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Dari sini kita sudah bisa melihat hasil kerja kita. Ketika url di browser anda seperti ini.
1 http://localhost/projectlaravel/public/profile/1/Andri
Maka hasilnya seperti ini
Sekarang kita rubah sedikit didalam file controller yang bernama ProfileController.php.
Silahkan dirubah atau diganti menjadi seperti ini.
1 < ?php
2 class ProfileController extends BaseController {
3
public function index()
4
{
5
return View::make('home');
}
6
7
public function profile($nama)
8
{
9
$data =
10
[
11
'nama' => $nama
];
12
return View::make('profile',$data);
13
}
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
14
15 }
16
17 //Untuk spasi diantara tanda < dan ?php silahkan dihapus
18
19
20
Kemudian buka file profile.blade.php yang berada dalam folder views. Rubah atau ganti code
dibawah ini.
1 Profile ID / Nama : {{{ $id }}} / {{{ $nama }}}
Menjadi seperti ini
1 Nama : {{{ $nama }}}
Jika sudah selesai buat file bernama home.blade.php dan tempatkan di dalam folder views, lalu
isi dengan code berikut ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Beranda< /small>
< /h1>
Ini Halaman Home / Beranda
< /div>
< /div>
@stop
//Untuk spasi diantara tanda < dan div, /div, h1, /h1, small, /small
silahkan dihapus
Untuk selanjutnya buka file sidebar.blade.php didalam folder includes. Dan ganti code menjadi
seperti dibawah ini.
1
2
3
4
5
6
7
8
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
< /li>
9
< /ul>
10
< /div>
11
12 //Untuk spasi diantara tanda < dan div, /div, ul, /ul, li, /li, a, /a, i,
i/ silahkan dihapus
Catatan : untuk tutorial blade templating ini masih sangat sederhana jadi silahkan
dikembangkan lagi sesuai keinginan anda. Jika anda tidak mengikuti tutorial sebelumnya dari
install, routing, controller dan view jika anda masih bingung saya sarankan untuk
mempelajarinya juga atau mempelajari ulang.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB IV
4. Belajar Dasar Form Framework Laravel Dan Latihan
Membuat Form Sederhana
Form biasanya digunakan untuk menginputkan, menampung, memasukan data. Jika yang sudah
belajar programming pasti lebih tau apa itu form. Di laravel sudah ada class form yang akan
mempermudah dalam pembuatan form. Dengan menggunakan form bawaan laravel untuk
pemula memang agak ribet, bagi yang sudah terbiasa maka akan tau keuntungan dari
menggunakan form bawaan laravel daripada membuat form manual. Untuk itu kita harus tau
terlebih dahulu tentang dasar dasar yang ada di form laravel.
2 {{ Form::close()
}}
3
Kita sebelumnya juga sudah belajar tentang blade, dengan code form seperti diatas akan pasti
lebih enak. Form diatas method default nya adalah POST, bagaimana kalau mau mengganti
method menjadi GET, Lihat code dibawah ini.
1 Form::open(array('url' => 'user', 'method' => 'GET'))
Tidak hanya POST dan GET yang bisa kita gunakan untuk selain itu seperti PUT dan DELETE
pun juga bisa.
Untuk agar bisa digunakan upload file kita biasanya menggunakan enctype='multipart/formdata' di form laravel kita bisa menggunakan 'files' => true code seperti ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Form::text('username')
Form::textarea('alamat')
Form::password('password')
Form::hidden('id')
Form::submit('Submit')
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
<
<
<
<
select name="jeniskelamin">
option value="L">Laki - Laki< /option>
option value="P">Perempuan< /option>
/select>
Untuk membuat list terseleksi secara default anda dapat menggunakan seperti ini.
1 Form::select('jeniskelamin', array('L' => 'Laki - Laki', 'P' =>
'Perempuan'), 'L')
Itu adalah dasar dasar form dari bawaan framework laravel dan masih banyak yang lain
silahkan ke website laravel.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Pertama buat dahulu file didalam folder views bernama formsederhana.blade.php dan isikan
dengan code berikut ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
Form Sederhana
< /h1>
{{ Form::open(array('url' => 'formsederhana')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null,
array('class' => 'form-control','placeholder'=>'masukkan nama')) }}
< /div>
< div class="form-group">
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{{ Form::select('jeniskelamin', array('L' => 'Laki Laki', 'P' => 'Perempuan'), null, array('class' => 'formcontrol','placeholder'=>'Pili Jenis Kelamin')) }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class' => 'formcontrol','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('Kirim', array('class' => 'form-control')) }}
{{ Form::close() }}
< /div>
< /div>
@stop
// Hilangkan spasi antara < dan div, /div, h1, /h1
Setelah itu buka controller ProfileController.php dan tambahkan code / fungsi berikut ini,
dibawah fungsi profile.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
< li>
< a href="{{ URL::to('formsederhana') }}">< i class="fa fa-fw faedit">< /i> Form Sederhana< /a>
< /li>
// Hilangkan spasi antara < dan li, /li, a, /a, i, i/
Dibawahnya code.
1
2
3
4
5
< li>
< a href="{{ URL::to('profile/Andri') }}">< i class="fa fa-fw fauser">< /i> Profile< /a>
< /li>
// Hilangkan spasi antara < dan li, /li, a, /a, i, i/
Selesai, sekarang coba klik menu form sederhana maka akan muncul seperti gambar form diatas.
Catatan : tutorial ini bisa diikuti jika sudah mengikuti tutorial sebelumnya yaitu Memanfaatkan
Blade Templating Laravel Untuk Memadukan Template Bootstrap.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB V
5. Cara Menggunakan Migrations dan Schema Builder di
Framework Laravel
Migrations (migrasi) adalah sebuah fasilitas dilaravel digunakan untuk mempermudah kita
ketika ada perubahan dalam database. Schema Builder digunakan untuk membuat sebuah skema
database. Dengan menggunakan migrations dan schema builder kita untuk membuat database
tidak perlu repot repot membuka phpmyadmin, sqlyog, ataupun aplikasi lain untuk membuat
database. Dengan migrations dan schema builder juga akan lebih mudah ketika kita membuat
project besar dan banyak developer.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Kita juga bisa merollback database yang telah dibuat sebelumnya dengan perintah berikut ini.
1 php artisan migrate:rollback
Perintah diatas hanya merollback data terakhir saja jika ingin merollback keseluruhan dapat
menggunakan perintah berikut ini.
1 php artisan migrate:reset
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
2. Adding, Renaming & Dropping Columns (Menambah, Mengubah & Mengahpus Kolom)
Adakalanya ketika kita bikin program ingin menambahkan kolom pada suatu tabel, didalam
skema builder ini bisa menggunakan perintah ini.
1 Schema::table('profiles', function($table)
2 {
$table->string('notlep');
3 });
4
Untuk mengubah kolom bisa menggunakan perintah renameColumn seperti dibawah ini.
1 Schema::table('profiles', function($table)
2 {
$table->renameColumn('from', 'to');
3 });
4
Sedangkan untuk menghapus kolom bisa menggunakan perintah berikut ini.
1 Schema::table('profiles', function($table)
2 {
$table->dropColumn('notlep');
3 });
4
Untuk menghapus kolom lebih dari satu bisa seperti ini.
1 $table->dropColumn('notlep');
Menjadi
1 $table->dropColumn(array('notlep', 'email'));
3. Adding Indexes & Foreign Keys
Menambahkan index pada tabel tertentu dan kolom terntentu bisa menggunakan perintah
dibawah ini.
1 $table->string('email')->unique();
Sedangkan untuk menambahkan foreign key atau kunci tamu bisa menggunakan perintah ini.
1 $table->integer('user_id')->unsigned();
2 $table->foreign('user_id')->references('id')->on('users');
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Itu adalah dasar dasar dari migrasi dan skema builder untuk lebih lengkapnya bisa langsung ke
http://laravel.com/docs/4.2/migrations dan http://laravel.com/docs/4.2/schema.
'driver'
'host'
=> 'mysql',
=> 'localhost',
=> '',
'driver'
=> 'mysql',
Rubah menjadi
1
2
3
4
5
6
7
8
'host'
=> 'localhost',
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
9
10
11
12
13 xampp default kosong.
14
15
16
17
18
19
=> '',
),
< ?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProfilesTable extends Migration {
/**
* Run the migrations.
*
* @return void
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 }
35
36
37
38
39
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
< ?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProfilesTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 }
47
48
49
50
51
52
{
Schema::create('profiles', function($table)
{
$table->increments('id');
$table->string('nama')->length(100);
$table->enum('jeniskelamin', array('L', 'P'));
$table->string('alamat')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('profiles');
}
Selesai silahkan disimpan dan jalankan perintah berikut ini di command prompt / cmd.
1 php artisan migrate
Lebih jelasnya lihat gambar dibawah ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Sampai sini silahkan cek apakah tabel profiles yang anda buat masuk kedalam database
belajarlaravel seperti ini.
Sampai disini anda sudah suskses membuat migration sederhan menggunakan laravel, jika anda
terlalu keberatan dalam membuat database dengan cara seperti ini maka anda bisa membuat
database secara manual melalui phpmyadmin atau menurut cara anda sendiri.
BAB VI
6. Cara Membangun Create, Read, Update dan Delete
Menggunakan Query Builder di Laravel
Create, read, update dan delete biasanya disingkat CRUD. Operasi CRUD ini digunakan untuk
membuat, membaca, mengubah dan menghapus data dalam database. Operasi CRUD adalah
operasi umum untuk mengolah data dan biasanya digunakan juga untuk belajar pertama kali
untuk mengolah data sederhana bagi pemula.
Apa itu query builder, jika anda pernah belajar framework codeigniter pasti sudah mengenal, di
framework codeigniter biasa disebut active record. Sedangkan di framework laravel disebut
sebagai query builder. Dengan query builder code yang kita bikin akan mudah atau enak dibaca.
Disamping itu ketika ingin migrasi kedatabase lain anda tidak perlu mengubah query (catatan
hanya database yang didukung oleh laravel saja). Jika anda belum pernah atau belum mendengar
sama sekali. Query builder sama dengan sql / query yang biasa kita pakai contoh select * from
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
tabel; Cuma di query builder lebih dipersingkat lagi dan dibikin agar support dengan beberapa
database. Untuk lebih jelasnnya silahkan lihat tutorial query builder di laravel.com
Kali ini kita akan membuat operasi crud sederhana seperti tampilan gambar diatas dengan
memanfaatkan database yang kita buat pada tutorial Cara Menggunakan Migrations dan
Schema Builder di Framework Laravel. Jika anda belum terbiasa dengan cara ini, anda bisa
langsung membuatnya di phpmyadmin dengan struktur tabel dan nama database sebagai berikut.
Nama Database : belajarlaravel
Nama Tabel : profiles
Struktur tabel silahkan dilihat gambar dibawah ini atau SQL yang saya sertakan.
Laravel 4
Drafshare.blogspot.com
Jika telah selesai membuat database diatas silahkan di konfigurasi dulu, database.php didalam
folder app/config.
1 'mysql' => array(
2
'driver' => 'mysql',
3
4
'host'
=> 'localhost',
5
6
'database' => 'belajarlaravel',
7
8
'username' => 'root',
9
10
'password' => '',
11
12
'charset' => 'utf8',
13
14
'collation' => 'utf8_unicode_ci',
15
16
'prefix' => '',
17
18
),
19
Kemudian kita lanjutkan dengan membuat controller lebih dahulu bernama CrudController.php
letakkan dalam folder app/controllers. Jika sudah silahkan isi dengan code dibawah ini.
1 < ?php
2 class CrudController extends \BaseController {
public function index()
3
{
4
$profiles = DB::table('profiles')->paginate(5);
5
$profiles =
[
6
'profiles' => $profiles
7
];
8
return View::make('crud.index', $profiles);
9
}
10
11 }
12
13
Sekarang buat folder bernama crud didalam folder app/views. Setelah itu didalam folder crud
buat file bernama index.blade.php dan isikan dengan code dibawah ini.
1
@extends('layouts.master')
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Daftar Profile< /small>
< /h1>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
< p>< a href="{{ URL::to('crud/create') }}" class="btn btnprimary" role="button">Tambah Profile Baru< /a>< /p>
< div class="table-responsive">
< table class="table table-bordered tablehover">
< thead>
< tr>
< th>ID< /th>
< th>Nama< /th>
< th>Jenis Kelamin< /th>
< th width="146">Aksi< /th>
< /tr>
< /thead>
< tbody>
@foreach($profiles as $value)
< tr>
< td>{{{ $value->id }}}< /td>
< td>{{{ $value->nama }}}< /td>
< td>{{{ $value->jeniskelamin ==
'L' ? 'Laki - laki' : 'Perempuan' }}}< /td>
< td>
< div class="btn-group">
< a href="{{ URL::to('crud/edit/'.$value->id) }}"
class="btn btn-primary">Ubah< /a>
< a href="{{ URL::to('crud/destroy/'.$value->id)
}}" class="btn btn-primary">Hapus< /a>
< /div>
< /td>
< /tr>
@endforeach
< /tbody>
< /table>
< /div>
{{$profiles->links()}}
< /div>
< /div>
@stop
// agar berjalan dengan baik hilangkan spasi sesudah tandan <
Selanjutnya buka file routes.php didalam folder app tambahkan code dibawah ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1 Route::get('crud', 'CrudController@index');
Sekarang silahkan diisi dulu data secara manual di phpmyadmin, terserah anda diisi data
berapapun dan untuk menjalankan hasil code diatas ketikan url seperti ini.
1 http://localhost/projectlaravel/public/crud
Darisini anda sudah berhasil menampilkan data dari database. Selanjtunya kita akan membuat
form tambah data profile. Tambahkan code berikut ini di contoller bernama
CrudController.php dibawah function index.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
26 }
27
28
29
Kemudian buat file bernama create.blade.php didalam folder crud yang sebelumnya sudah
dibuat dan isikan code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Tambah Profile< /small>
< /h1>
{{ Form::open(array('url' => 'crud/create')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'formcontrol','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki Laki', 'P' => 'Perempuan'), null, array('class' => 'formcontrol','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class' => 'formcontrol','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-control')) }}
{{ Form::close() }}
< /div>
< /div>
@stop
// agar berjalan dengan baik hilangkan spasi sesudah tandan <
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1 Route::get('crud/create','CrudController@create');
2 Route::post('crud/create','CrudController@store');
Selesai jalankan dengan menekan tombol tambah profile baru atau ketikan url seperti ini.
1 http://localhost/projectlaravel/public/crud/create
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
22
23
24
25
26
27
28
29
30
31
32 }
33
34
35
36
} else {
DB::table('profiles')
->where('id', $id)
->update(array(
'nama' => Input::get('nama'),
'jeniskelamin' => Input::get('jeniskelamin'),
'alamat' => Input::get('alamat')
));
Session::flash('message', 'Data Berhasil Diubah');
return Redirect::to('crud');
}
Jika sudah silahkan dibuat file bernama edit.blade.php didalam folder crud dan isikan code
dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Ubah Profile< /small>
< /h1>
{{ Form::model($profilesbyid, array('route' =>
array('crud.update', $profilesbyid->id))) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'formcontrol','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki Laki', 'P' => 'Perempuan'), null, array('class' => 'formcontrol','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class' => 'formcontrol','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-control')) }}
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
28
{{ Form::close() }}
29
30
< /div>
31
< /div>
32 @stop
33
34 // agar berjalan dengan baik hilangkan spasi sesudah tandan <
35
Sekarang coba jalankan untuk mengubah data dengan menekan tombol ubah maka akan tampil
form seperti gambar ini.
Ubah data apapun dan klik tombol simpan dan silahkan amati apa yang terjadi.
Yang terakhir adalah membuat fungsi untuk menghapus data, silahkan tambahkan code berikut
di controller CrudController.php dibawah function update.
1 public function destroy($id)
2 {
DB::table('profiles')->where('id', '=', $id)->delete();
3
Session::flash('message', 'Data Berhasil Dihapus');
4
return Redirect::to('crud');
5 }
6
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Selesai silahkan dicoba untuk menghapus data dengan menekan tombol hapus.
Itu adalah contoh dasar operasi CRUD menggunakan Query Builder bawaan Framework
Laravel.
BAB VII
7. Membuat Create, Read, Update dan Delete
Menggunakan Eloquent ORM dan RESTful Resource
Controllers Laravel
Pada tutorial sebelumnya membuat CRUD dengan Query Builder sudah saya jelaskan apa itu
yang dimaksud CRUD. Ditutorial ini akan sedikit saya bahas lagi apa itu CRUD. Create, read,
update dan delete biasanya disingkat CRUD. Operasi CRUD ini digunakan untuk membuat,
membaca, mengubah dan menghapus data dalam database. Untuk CRUD Ditutorial ini kita akan
memanfaatkan Eloquent ORM dan RESTful Resource Controllers. Eloquent ORM adalah ORM
(Object Relational Mapping) yang dibundling bersama Laravel Framework. Dengan ORM kita
akan lebih mudah dalam membuat proses CRUD. Sedangkan RESTful Resource Controllers
adalah untuk mempermudah dalam membuat RESTful controllers. RESTful resource adalah
semua hal yang bisa diakses dan ditransfer melalui web antara client dan server. Contohnya saja
pada aplikasi facebook atau google plus. Pada suatu website mereka untuk login ke website
mereka bisa menggunakan data pihak ketiga yaitu facebook dan google plus.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Sebelum lanjut untuk membuat CRUD dengan Eloquent ORM dan RESTful Resource
Controllers silahkan membuat database terlebih dahulu jika tidak mengikuti tutorial sebelumnya.
Nama Database : belajarlaravel
Nama Tabel : profiles
Untuk setting database silahkan disetting pada file database.php didalam folder app/config.
Silahkan untuk isi disesuaikan saja dengan pengaturan anda sendiri, jika belum paham betul
silahkan melihat tutorial sebelumnya Cara Membangun Create, Read, Update dan Delete
Menggunakan Query Builder di Laravel.
Setelah selesai buka project anda yang telah diinstall sebelumnya jika belum bisa install project
silahkan menngikuti tutorial sebelumnya install laravel. membuat dan konfigurasi database
selanjutnya buat file bernama IvudController.php didalam folder app/controllers. Jika anda
ingin cara cepat bisa menggunakan peritah berikut ini pada artisan.
1 php artisan controller:make IvudController
< ?php
class IvudController extends \BaseController {
/**
* Display a listing of the resource.
*
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
* @return Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store()
{
//
}
/**
* Display the specified resource.
*
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
* @param
int
$id
* @return Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param
int
$id
* @return Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param
int
$id
* @return Response
*/
public function update($id)
{
//
}
/**
* Remove the specified resource from storage.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
105
106
107
108
109
110
111
112
113
114
115
116
117
118 }
119
// agar
120
121
122
123
124
125
126
127
128
129
130
*
* @param
int
$id
* @return Response
*/
public function destroy($id)
{
//
}
Masih dalam file IvudController.php sekarang silahkan diganti function index diatas menjadi
seperti dibawah ini.
1
2
3
4
5
6
7
8
9
Kemudian buat file bernama Profile.php didalam folder app/models dan isikan dengan code
dibawah ini.
1 < ?php class Profile extends Eloquent {
2
3 }
4
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Jika selesai langkah selanjutnya adalah membuat folder bernama ivud didalam folder app/views.
Setelah itu didalam folder ivud buat file bernama index.blade.php dan isikan dengan code
dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Daftar Profile< /small>
< /h1>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
< p>< a href="{{ URL::to('ivud/create') }}" class="btn btnprimary" role="button">Tambah Profile Baru< /a>< /p>
< div class="table-responsive">
< table class="table table-bordered tablehover">
< thead>
< tr>
< th>ID< /th>
< th>Nama< /th>
< th>Jenis Kelamin< /th>
< th width="146">Aksi< /th>
< /tr>
< /thead>
< tbody>
@foreach($profiles as $value)
< tr>
< td>{{{ $value->id }}}< /td>
< td>{{{ $value->nama }}}< /td>
< td>{{{ $value->jeniskelamin ==
'L' ? 'Laki - laki' : 'Perempuan' }}}< /td>
< td>
{{ Form::open(array('url' =>
'ivud/' . $value->id)) }}
< div class="btn-group">
< a href="{{ URL::to('ivud/' .
$value->id . '/edit') }}" class="btn btn-primary">Ubah< /a>
{{ Form::hidden('_method',
'DELETE') }}
{{Form::button('Hapus',
array('type' => 'submit', 'class' => 'btn btn-primary'))}}
< /div>
{{ Form::close() }}
< /td>
< /tr>
@endforeach
< /tbody>
< /table>
< /div>
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
{{$profiles->links()}}
42
43
< /div>
44
< /div>
45 @stop
46
47 // agar program berjalan lancar hapus spasi setelah tanda <
48
49
Selanjutnya buka file routes.php pada folder app dan tambahkan code dibawah ini.
1 Route::resource('ivud', 'IvudController');
Dengan code route diatas kita tidak perlu seperti tutorial kemarin membuat satu satu routenya
cukup satu baris sudah mewakili satu CRUD. Jika kita jalankan dengan mengetikkan url seperti
ini dibrowser
1 http://localhost/projectlaravel/public/ivud
Selanjutnya ganti code function create dan store di dalam file IvudController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
16 >withErrors($validator)->withInput();
} else {
17
$profile = new Profile;
18
$profile->nama = Input::get('nama');
19
$profile->jeniskelamin = Input::get('jeniskelamin');
20
$profile->alamat = Input::get('alamat');
$profile->save();
21
22
23 Session::flash('message', 'Data Berhasil Ditambahkan');
return Redirect::to('ivud');
24
}
25 }
Sekarang buat file didalam folder app/views bernama create.blade.php dan isikan code
dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Tambah Profile< /small>
< /h1>
{{ Form::open(array('url' => 'ivud')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'formcontrol','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki Laki', 'P' => 'Perempuan'), null, array('class' => 'formcontrol','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class' => 'formcontrol','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-control')) }}
{{ Form::close() }}
< /div>
< /div>
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
33 @stop
34
35 // agar program berjalan lancar hapus spasi setelah tanda <
36
Isi data lalu klik tombol simpan dan amati apa yang terjadi.
Selanjutnya silahkan ganti code function edit dan update pada file IvudController.php seperti
dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
19 >withInput();
} else {
20
$profile = Profile::findOrFail($id);
21
$profile->nama = Input::get('nama');
22
$profile->jeniskelamin = Input::get('jeniskelamin');
23
$profile->alamat = Input::get('alamat');
$profile->save();
24
25
Session::flash('message', 'Data Berhasil Diubah');
26
return Redirect::to('ivud');
27
}
28 }
29
30
31
32
Kemudian buat file bernama edit.blade.php didalam folder app/views/ivud dan isikan dengan
code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Ubah Profile< /small>
< /h1>
{{ Form::model($profilesbyid, array('route' =>
array('ivud.update', $profilesbyid->id),'method' => 'PUT')) }}
< div class="form-group">
{{ Form::label('nama', 'Nama') }}
{{ Form::text('nama', null, array('class' => 'formcontrol','placeholder'=>'masukkan nama')) }}
{{ '< div>'.$errors->first('nama').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('jeniskelamin', 'Jenis Kelamin') }}
{{ Form::select('jeniskelamin', array('L' => 'Laki Laki', 'P' => 'Perempuan'), null, array('class' => 'formcontrol','placeholder'=>'Pili Jenis Kelamin')) }}
{{ '< div>'.$errors->first('jeniskelamin').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('alamat', 'Alamat') }}
{{ Form::textarea('alamat', null, array('class' => 'formcontrol','placeholder'=>'masukkan alamat')) }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-control')) }}
{{ Form::close() }}
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
30
< /div>
31
<
/div>
32
@stop
33
34 // agar program berjalan lancar hapus spasi setelah tanda <
35
atau bisa klik tombol ubah maka hasilnya seperti gambar dibawah ini.
Terakhir yaitu membuat code untuk delete data, silahka code function destroy dalam file
IvudController.php diganti menjadi seperti dibawah ini.
1 public function destroy($id)
2 {
$profile = Profile::findOrFail($id);
3
$profile->delete();
4
Session::flash('message', 'Data Berhasil Dihapus');
5
return Redirect::to('crud');
6 }
7
Untuk tutorial membuat CRUD dengan Eloquent ORM dan RESTful Resource Controllers
sampai sini sudah selesai untuk menjalankan delete data bisa klik tombol hapus. Silahkan dipilih
mana yang lebih baik menggunakan Query Builder atau Menggunakan Eloqunet ORM semua
tergantung pada masing masing individu.
Jika anda mengikuti tutorial ini dari awal jangan lupa menambahkan code dibawah ini di folder
app/views/includes lalu cari file sidebar.blade.php
1 < li>
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB VIII
8. Memanfaatkan Auth Bawaan Laravel Untuk Membuat
Authentication User Sederhana
Authentication yang akan dibahas disini yaitu auth basic atau dasar bukan berbasis ACL (Access
Control List) maupun RBAC (Role Based Access ControL). Di Framework laravel sudah
disediakan komponen atau fungsi - fungsi yang kita perlukan untuk membuat authentication.
Sebelum membahasa lebih jauh tentang auth laravel, kita harus paham apa itu auth. Auth dalam
aplikasi adalah digunakan untuk membatasi user tertentu dalam mengakses aplikasi atau program
bahkan menu tertentu. Dalam membuat auth kita biasanya memerlukan form login yang berisi
inputan username atau email dan password. Sebelum belajar membuat auth akan saya perkenalan
dahulu fungsi fungsi auth yang ada dilaravel.
Untuk mengecek password sama atau tidak anda bisa menggunakan code dibawah ini.
1 if (Hash::check('secret', isikanpasswordyangtelahdihash))
2 {
3
}
4
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1 if (Hash::needsRehash($hashed))
2 {
3
$hashed = Hash::make('secret');
4
5 }
6
2. Authenticating Users
Untuk masuk dalam aplikasi anda bisa menggunakan metode atau code dibawah ini.
1 if (Auth::attempt(array('email' => $email, 'password' => $password)))
2 {
3
return Redirect::intended('dashboard');
4
5 }
6
Sedangkan untuk mengecek apakah pengguna sudah benar benar login bisa menggunakan code
dibawah ini.
1 if (Auth::check())
2 {
3
}
4
Kalau kita lihat biasanya disebuah form login ada checkbox dengan atribut remember me atau
ingat saya, untuk dilaravel anda bisa menggunakannya seperti ini.
1 if (Auth::attempt(array('email' => $email, 'password' => $password), true))
2 {
3
}
4
Untuk mengecek apakah remember me atau ingat saya sudah bekerja apa belum ada bisa
mencoba dengan menuliskan code dibawah ini.
1 if (Auth::viaRemember())
2 {
3
}
4
Pada suatu ketika anda membuat website, dalam website anda ada beberapa status user ada yang
aktif, ada yang belum di konfirmasi, ada juga yang telah di banned karena melakukan suatu
kesalahan. Ketika mereka yang dibanned ataupun belum dikonfirmasi tidak bisa login kita bisa
menggunakan code dibawah ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1
2
3
4
Untuk mengakses data user yang telah login bisa menggunakan seperti ini.
1 $email = Auth::user()->email;
Sedangkan untuk logout anda bisa menggunakan code atau fungsi ini.
1 Auth::logout();
Itu adalah fungsi fungsi yang bisa kita manfaatkan untuk membuat auth sederhana dan masih
banyak fungsi yang belum saya bahas disini. Jadi silahkan dibaca baca di
http://laravel.com/docs/4.2/security.
Ditutorial ini kita akan belajar membuat auth sederhana. Langkah awal yaitu konfigurasi file
database.php didalam folder app/config. Buat database dan dengan tabel bernama users. Disini
saya memanfaatkan migration yang ada dilaravel dan juga sudah kita bahas ditutorial
sebelumnya.
Jalankan perintah ini didalam command prompt / cmd.
1 php artisan migrate:make create_users_table
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Jika selesai simpan dan di command prompt / cmd silahkan jalankan perintah ini.
1 php artisan migrate
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Disini saya juga memanfaatkan seeder lavarel fungsinya untuk membuat / memasukan data
dibuat untuk testing aplikasi atau web yang dibuat. Buat file bernama UserTableSeeder.php
didalamfolder app/seeds dan isikan code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
< ?php
class UserTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->delete();
User::create(array(
'name' => 'Andri Riantana',
'username' => 'seputarpemrograman',
'email' => '[email protected]',
'password' => Hash::make('qwerty'),
));
}
}
// Hilangkan spasi setelah tanda <
Kemudian buka file DatabaseSeeder.php yang berada di app/seeds ubah codenya menjadi
seperti ini.
1 public function run()
2 {
Eloquent::unguard();
3
4
$this->call('UserTableSeeder');
5 }
6
Selesai silahkan bukan command prompt dan jalankan perintah berikut ini.
1 php artisan db:seed
Jika berhasil sampai langkah ini maka didatabase anda sudah terdapat tabel bernama users dan
beserta isinya.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Jika anda masih bingung membuat tabel dengan cara diatas anda bisa membuat secara manual
dengan struktur tabel seperti dibawah ini.
Selanjutnya buat file bernama UserController.php letakkan didalam folder app/controllers dan
isikan code dibawah ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
< ?php
class UserController extends \BaseController {
public function login()
{
return View::make('login');
}
public function doLogin()
{
$rules = array(
'email' => 'required|email',
'password' => 'required|alphaNum|min:5'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('login')
->withErrors($validator)
>withInput(Input::except('password'));
} else {
$userdata = array(
'email' => Input::get('email'),
'password'
=>
Input::get('password')
);
if (Auth::attempt($userdata)) {
return Redirect::to('/');
} else {
return Redirect::to('login');
}
}
}
public function logout()
{
Auth::logout();
return Redirect::to('login');
}
}
//Hilangkan spasi setelah tanda <
Buat file lagi bernama login.blade.php letakkan di folder app/views dan isikan code ini.
1
2
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Selanjutnya buka file routes.php yang berada dalam folder app. Dan tambahkan code dibawah
ini.
1
2
3
4
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
5 });
6
7 Route::get('login', array('uses' => 'UserController@login'));
Route::post('login', array('uses' => 'UserController@doLogin'));
8
9
Jika anda mengikuti tutorial ini dari awal anda bisa tuliskan code seperti ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Yang terakhir pastikan ada file bernama User.php didalam folder app/models. Sekarang coba
jalankan dengan mengetikan url seperti ini.
1 http://localhost/projectlaravel/public/login
2
3 Untuk username / email : [email protected]
Password : qwerty
4
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Oh ya jika anda mengikuti tutorial ini dari awal tambahkan code dibawah ini dalam file
sidebar.blade.php dalam folder app/views/includes.
1
2
3
4
5
< li>
< a href="{{ URL::to('logout') }}">< i class="fa fa-fw fa-power-off"><
/i> Logout< /a>
< /li>
// Hilangkan spasi setelah tanda <
Jika anda sudah login akan menampilkan halaman seperti gambar dibawah ini.
Itulah cara membuat auth sederhana dalam framework laravel, mungkin anda akan sedikit
bingung dengan tutorial diatas jika anda tidak mengikuti tutorial tentang laravel dari awal.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB IX
9. Cara Menggunakan package sentry di framework
laravel bagian install dan register
Sebelum kita membahas bagaimana cara install dan cara membuat register atau pendaftaran user
menggunakan cartalyst sentry. Akan saya jelaskan apa itu package sentry, package sentry adalah
sebuah package yang digunakan untuk mempermudah dalam manajemen user seperti
pendaftaran, login, hak akses user menurut user atau grup user, aktivasi user, lupa password atau
reset password. Jika anda biasanya untuk membuat itu secara manual akan lebih lama jadi jika
anda memakai sentry akan lebih cepat dari biasanya karena sudah disediakan fungsi fungsi
seperti yang saya sebutkan diatas.
Tujuan menggunakan project diatas nantinya menu menu yang sudah ada akan dibuat study
kasus langsung ketika manajemen usernya. Jika project siap silahkan dibuka file composer.json
lalu tambahkan perintah berikut ini.
1 "cartalyst/sentry": "2.1.*"
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Jangan lupa arahkan commad prompt / cmd ke folder project anda caranya ketik
cd \xampp\htdocs\namafolderproject, \xampp\htdocs\ tergantung dimana anda meletakkan
project yang telah dibuat.
Jika install selesai maka bisa dicek di folder vendor ada folder bernama cartalyst dan
didalamnya ada folder bernama sentry. Selanjutnya setting app.php didalam folder app/config.
Didalam array $providers tambahkan baris code berikut ini.
1 'Cartalyst\Sentry\SentryServiceProvider',
Dan didalam array $aliases tambahkan baris code seperti dibawah ini.
1 'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',
Kemudian setting database.php didalam folder app/config isi sesuai dengan configurasi
database anda. Untuk configurasi saya seperti ini.
1 'mysql' => array(
'driver' => 'mysql',
2
'host'
=> 'localhost',
3
'database'
=> 'sentry',
4
'username' => 'root',
5
'password' => '',
6
'charset' => 'utf8',
7
'collation' => 'utf8_unicode_ci',
8
'prefix' => '',
9
),
10
Jika selesai silahkan jalankan perintah dibawah ini di command prompt. Jika anda belum pernah
belajar tentang php artisan migrate atau migration pada laravel anda bisa melihat tutorial
migration dan schema builder.
1 php artisan migrate --package=cartalyst/sentry
Jika anda juga menggunakan project yang sama seperti tutorial ini jalankan juga peritah dibawah
ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Sekarang silahkan cek didatabase anda pasti akan otomatis dibuatkan strutur tabel seperti gambar
berikut ini.
Lalu jalankan juga perintah berikut ini tentunya melalui command promt / cmd.
1 php artisan config:publish cartalyst/sentry
maka otomatis dibuatkan file untuk configurasi sentry, untuk cek silahkan cari file bernama
config.php didalam folder app/config/cartalyst/sentry.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
1
2
3
4
5
6
7
8
9
10
11
12
< ?php
class UserController extends \BaseController {
public function register()
{
}
public function doRegister()
{
}
}
// Hilangkan spasi setelah tanda <
Untuk fungsi atau function doRegister ubah menjadi seperti dibawah ini.
1 public function doRegister()
2 {
3
$rules = array(
4
'first_name' => 'required',
5
'last_name' => 'required',
6
'email' => 'required|email|unique:users',
'password' => 'required|between:4,10|confirmed',
7
'password_confirmation' => 'between:4,10'
8
);
9
10
$validator = Validator::make(Input::all(), $rules);
11
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
12
if ($validator->fails()) {
13
return Redirect::to('register')
14
->withErrors($validator);
15
} else {
16
try
17
{
$user = Sentry::register(array(
18
'first_name' => Input::get( 'first_name' ),
19
'last_name' => Input::get( 'last_name' ),
20
'email' => Input::get( 'email' ),
21
'password' => Hash::make(Input::get( 'password' )),
22
'activated' => true,
23
));
24
25
$activationCode = $user->getActivationCode();
26
}
27
catch (Cartalyst\Sentry\Users\LoginRequiredException $e)
{
28
Session::flash('message', 'Login field is required.');
29
return Redirect::to('register');
30
}
31
catch (Cartalyst\Sentry\Users\PasswordRequiredException $e)
32
{
33
Session::flash('message', 'Password field is required.');
return Redirect::to('register');
34
}
35
catch (Cartalyst\Sentry\Users\UserExistsException $e)
36
{
37
Session::flash('message', 'User with this login already
38 exists.');
return Redirect::to('register');
39
}
40
41
Session::flash('message', 'Successfully Register, Please Login');
42
return Redirect::to('register');
43
}
44
45 }
Jika selesai silahkan dibuat folder bernama sentry pada folder app/views. Dan didalam folder
sentry buat file bernama register.blade.php lalu isikan dengan code dibawah ini.
1
2
3
4
5
6
7
8
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
< /div>
57
<
/div>
58
< /div>
59
< div class="col-lg-4 text-center">
60
61
< /div>
62 < /div>
63
64 < /body>
65 < /html>
66
// Hilangkan spasi setelah tanda <
Selanjutnya didalam file routes.php dalam folder app silahkan ditambahkan code dibawah ini.
1 Route::get('register','UserController@register');
2 Route::post('register','UserController@doRegister');
Ketika kita isi semua inputan lalu klik button register maka data akan disimpan didatabase
ditabel users. Sampai sini kita sudah bisa isntall dan membuat register atau pendaftaran
menggunakan package sentry dilaravel.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB X
10.
Setelah sebelumnya seputar pemrograman mebahas cara install sentry dan membuat
pendaftaran user sederhana menggunakan package sentry. Ditutorial kali ini kita akan membahas
groups pada sentry. Groups sentry digunakan untuk manajemen user per group, contohnya group
admin, group moderator, group member dan bisa kita tambah atau kurangi sesuai kebutuhan
aplikasi kita. Disini kita akan membahas bagaimana cara kerja create ( membuat ) group dengan
beberapa permission, update ( ubah ) group dan delete ( hapus ) group.
Catatan : Groups Permissions, 0 = deny & 1 = allow.
Tanpa basa basi langsung kita praktekan membuat group dengan sentry. Pertama buatlah file
bernama GroupController.php letakkan dalam folder app/controllers. Dan isi dengan code
dibawah ini.
1
2
3
4
5
< ?php
class GroupController extends \BaseController {
}
// agar program berjalan lancar hapus spasi setelah tanda <
Jika selesai sekarang buatlah sebuah folder bernama sentry didalam folder app/views. Lalu buat
folder lagi didalam folder sentry yang baru dibuat dengan nama group. Didalam folder group ini
buatlah beberapa file bernama index.blade.php , create.blade.php dan edit.blade.php. Setelah
selesai membuat file file ini buka file index.blade.php dan isikan code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Daftar Group< /small>
< /h1>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
< p>< a href="{{ URL::to('group/create') }}" class="btn btnprimary" role="button">Tambah Group Baru< /a>< /p>
< div class="table-responsive">
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Jangan lupa disimpan terlebih dahulu, lalu buka file GroupController.php dan didalam class
GroupController sisipkan code dibawah ini.
1 public function index()
2 {
$group = Group::paginate(5);
3
$group =
4
[
5
'group' => $group
];
6
return View::make('sentry.group.index', $group);
7
}
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
8
9
< ?php
class GroupController extends \BaseController {
public function index()
{
$group = Group::paginate(5);
$group =
[
'group' => $group
];
return View::make('sentry.group.index', $group);
}
}
// agar program berjalan lancar hapus spasi setelah tanda <
Buka file routes.php didalam folder app dan tambahkan code ini.
1 Route::resource('group', 'GroupController');
Sampai sini list atau daftar group telah selesai anda bisa mencoba dengan mengakses url seperti
ini.
1 http://localhost/projectlaravel/public/group
Jika sudah ada isinya didalam database makan kurang lebih hasilnya seperti gambar dibawah ini.
Kita lanjutkan dengan membuat create (tambah) group, buka kembali controller
GroupController.php dan tambah kan code dibawah ini persis dibawah function index.
1
2
3
4
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Lalu buka file create.blade.php didalam folder group yang telah dibuat tadi dan isikan code
dibawah ini.
1 @extends('layouts.master')
2 @section('content')
< div class="row">
3
< div class="col-lg-12">
4
< h1 class="page-header">
5
Halaman
< small>Tambah Group< /small>
6
<
/h1>
7
8
{{ Form::open(array('url' => 'group')) }}
9
10
< div class="form-group">
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
{{ Form::label('group', 'Group') }}
11
{{ Form::text('group', null, array('class' => 'form12
control','placeholder'=>'masukkan group')) }}
13
{{ '< div>'.$errors->first('group').'< /div>' }}
14
< /div>
15
16
< div class="form-group">
{{ Form::label('user', 'User') }} :
17
< label class="checkbox-inline">
18
{{Form::checkbox('cb[user.read]', '1')}} Read
19
< /label>
20
< label class="checkbox-inline">
21
{{Form::checkbox('cb[user.create]', '1')}} Create
< /label>
22
< label class="checkbox-inline">
23
{{Form::checkbox('cb[user.update]', '1')}} Update
24
< /label>
25
< label class="checkbox-inline">
26
{{Form::checkbox('cb[user.destroy]', '1')}} Destroy
27
< /label>
< /div>
28
< div class="form-group">
29
{{ Form::label('crud', 'CRUD Query Builder') }} :
30
< label class="checkbox-inline">
31
{{Form::checkbox('cb[cqb.read]', '1')}} Read
32
< /label>
< label class="checkbox-inline">
33
{{Form::checkbox('cb[cqb.create]', '1')}} Create
34
< /label>
35
< label class="checkbox-inline">
36
{{Form::checkbox('cb[cqb.update]', '1')}} Update
37
< /label>
38
< label class="checkbox-inline">
{{Form::checkbox('cb[cqb.destroy]', '1')}} Destroy
39
< /label>
40
41
< /div>
42
< div class="form-group">
43
{{ Form::label('crud', 'CRUD Eloquent ORM') }} :
44
< label class="checkbox-inline">
{{Form::checkbox('cb[ceo.read]', '1')}} Read
45
< /label>
46
< label class="checkbox-inline">
47
{{Form::checkbox('cb[ceo.create]', '1')}} Create
48
< /label>
49
< label class="checkbox-inline">
{{Form::checkbox('cb[ceo.update]', '1')}} Update
50
< /label>
51
< label class="checkbox-inline">
52
{{Form::checkbox('cb[ceo.destroy]', '1')}} Destroy
53
< /label>
54
< /div>
55
{{ Form::submit('SIMPAN', array('class' => 'form-control')) }}
56
{{ Form::close() }}
57
58
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
< /div>
59
<
/div>
60
@stop
61
62 // agar program berjalan lancar hapus spasi setelah tanda <
Untuk menjalankannya anda bisa klik tombol tambah group ataupun mengakses dengan url
seperti ini.
1 http://localhost/projectlaravel/public/group/create
Catatan : untuk checkbox permodul memang masih saya buat secara manual, jadi bisa anda
kembangkan misal membuat tabel lagi modul dan aksi. Tapi ini sudah lebih dari cukup dimanis
karena kita bisa mengatur permodul dan fungsinya.
Selanjutnya adalah membuat update (ubah) group, buka kembali controller
GroupController.php dan tambahkan code dibawah ini tepat dibawah function store.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 }
61
{
$group = Sentry::findGroupById($id);
$arrexs = array();
foreach ($group->permissions as $key => $value) {
if (array_key_exists($key, Input::get('cb'))) {
$arrexs[$key] = '1';
}
}
$arrexs2 = array();
foreach ($group->permissions as $key => $value) {
if (!array_key_exists($key, $arrexs)) {
$arrexs2[$key] = '0';
}
}
$arrexs3 = array_merge($arrexs2,Input::get('cb'));
$group->name = Input::get('group');
$group->permissions = $arrexs3;
$group->permissions = array();
if ($group->save())
{
Session::flash('message', 'Data Berhasil Diubah');
return Redirect::to('group');
}
else
{
Session::flash('message', 'Data Gagal Diubah');
return Redirect::to('group');
}
}
catch (Cartalyst\Sentry\Groups\NameRequiredException $e)
{
Session::flash('message', 'Name field is required');
return Redirect::to('group');
}
catch (Cartalyst\Sentry\Groups\GroupExistsException $e)
{
Session::flash('message', 'Group already exists');
return Redirect::to('group');
}
catch (Cartalyst\Sentry\Groups\GroupNotFoundException $e)
{
Session::flash('message', 'Group was not found.');
return Redirect::to('group');
}
}
Sekarang buka file edit.blade.php lalu isikan code seperti dibawah ini.
1
2
@extends('layouts.master')
@section('content')
< div class="row">
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Silahkan disimpan terlebih dahulu lalu untuk menjalankan bisa klik tombol ubah, maka hasilnya
akan nampak seperti gambar ini.
Yang terakhir adalah code untuk hapus group, silahkan dibuka file GroupController.php dan
tambahkan code dibawah ini dibawah function update.
1
2
3
4
5
6
7
8
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
9
10
11
12 }
13
14
Selesai jika anda coba klik atau menekan tombol hapus maka data group otomatis terhapus.
Untuk keterangan memang tidak semua saya jelaskan jadi kalau ada pertanyaan silahkan
tuliskan dikomentar dibawah ini, dan juga jangan lupa di share agar lebih bermanfaat lagi bagi
yang lainnya.
BAB XI
11.
Ditutorial bagian grup package sentry digunakan untuk memberikan permission atau hak akses
setiap group dan user mempunyai satu grup per user. Bagian kali ini kita akan membahas
mengenai create read update dan delete user menggunakan package sentry di framework laravel.
Bagian create user nanti kita akan mengisikan pada tabel users dan user_groups dimana tabel
user_groups inilah tempat digunakan untuk memilih group yang telah dbuat sebelumnya. Biar
tidak bingung langsung saja kita praktekan. Buka project sebelumnya jika tidak mengikuti dari
awal mungkin akan bingung, jadi saya anjurkan mingikuti dari awal sejak cara install package
sentry dan dilanjutkan membuat group sentry.
Ditutorial sebelumnya kita sudah membuat controller user, bernama UserController.php lalu
sekarang buat folder bernama user didalam folder app/views/sentry. Jika sudah selesai buatlah
file filer bernama index.blade.php, create.blade.php dan edit.blade.php didalam folder user
yang barusan dibuat. Sekarang silahkan dibuka file bernama UserController.php didalam folder
app/controllers. Tambahkan code / function berikut ini.
1 public function index()
2 {
$user = User::paginate(5);
3
$user =
4
[
5
'user' => $user
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
6
7
}
8
9
];
return View::make('sentry.user.index', $user);
Kemudian buka file index.blade.php didalam folder app/views/sentry/user dan isi dengan code
dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Daftar User< /small>
< /h1>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
< p>< a href="{{ URL::to('user/create') }}" class="btn btnprimary" role="button">Tambah User Baru< /a>< /p>
< div class="table-responsive">
< table class="table table-bordered tablehover">
< thead>
< tr>
< th width="10">ID< /th>
< th>Nama< /th>
< th>Email< /th>
< th width="147">Aksi< /th>
< /tr>
< /thead>
< tbody>
@foreach($user as $value)
< tr>
< td>{{{ $value->id }}}< /td>
< td>{{{ $value->first_name.'
'.$value->last_name }}}< /td>
< td>{{{ $value->email }}}< /td>
< td>
{{ Form::open(array('url' =>
'user/' . $value->id)) }}
< div class="btn-group">
< a href="{{ URL::to('user/' .
$value->id . '/edit') }}" class="btn btn-primary">Ubah< /a>
{{ Form::hidden('_method',
'DELETE') }}
{{Form::button('Hapus',
array('type' => 'submit', 'class' => 'btn btn-primary'))}}
< /div>
{{ Form::close() }}
< /td>
< /tr>
@endforeach
< /tbody>
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
< /table>
40
<
/div>
41
{{$user->links()}}
42
43
< /div>
44 < /div>
45 @stop
46
47 // agar program berjalan lancar hapus spasi setelah tanda <
48
49
Simpan, lalu untuk selanjutnya buka file routes.php didalam folder app, tambahkan code
dibawah ini.
1 Route::resource('user', 'UserController');
Sekarang kita sudah bisa mencoba menjalankan untuk melihat daftar user, dengan mengetikan
url berikut ini.
1 http://localhost/projectlaravel/public/user
Untuk langkah berikutnya buka file UserController.php yang berada dalam folder
app/controllers. Tambahkan function atau code dibawah ini, dibawah function index.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Tambah User< /small>
< /h1>
{{ Form::open(array('url' => 'user')) }}
< div class="form-group">
{{ Form::label('nama_depan', 'Nama Depan') }}
{{ Form::text('nama_depan', null, array('class' => 'formcontrol','placeholder'=>'masukkan nama depan')) }}
{{ '< div>'.$errors->first('nama_depan').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('nama_belakang', 'Nama Belakang') }}
{{ Form::text('nama_belakang', null, array('class' =>
'form-control','placeholder'=>'masukkan nama belakang')) }}
{{ '< div>'.$errors->first('nama_belakang').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('email', 'Email') }}
{{ Form::text('email', null, array('class' => 'formcontrol','placeholder'=>'masukkan email')) }}
{{ '< div>'.$errors->first('email').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('password', 'Password') }}
{{ Form::password('password', array('class' => 'formcontrol','placeholder'=>'masukkan password')) }}
{{ '< div>'.$errors->first('password').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('password_confirmation', 'Password
Confirmation') }}
{{ Form::password('password_confirmation', array('class'
=> 'form-control','placeholder'=>'masukkan password confirmation')) }}
{{ '< div>'.$errors->first('password_confirmation').'<
/div>' }}
< /div>
< div class="form-group">
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
38
39
40
41
42
43
44
45
46
47
48
49
50
{{ Form::label('group', 'Group') }}
{{ Form::select('group', $group, null, array('class' =>
'form-control', 'placeholder' => 'Select Group...')); }}
{{ '< div>'.$errors->first('group').'< /div>' }}
< /div>
{{ Form::submit('SIMPAN', array('class' => 'form-control')) }}
{{ Form::close() }}
< /div>
< /div>
@stop
// agar program berjalan lancar hapus spasi setelah tanda <
Sekarang buat model, buka folder app/models dan buat file bernama Group.php, isikan dengan
code berikut ini.
1 < ?php class Group extends Eloquent {
2
3 }
4
// agar program berjalan lancar hapus spasi setelah tanda <
5
Simpan, untuk menjalankan bisa klik tombol tambah user baru atau mengakses url seperti berikut
ini.
1 http://localhost/projectlaravel/public/user/create
Selanjutnya kita akan membuat form yang digunakan untuk mengubah / update data user. Buka
file UserController.php tambahkan code dibawah ini, dibawah function store.
1
2
3
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$groupbyuser = $userbyid->getGroups();
$groupbyuser = json_decode($groupbyuser, true);
$group = Group::lists('name', 'id');
$data =
[
'userbyid' => $userbyid,
'group' => $group,
'groupbyuser' => $groupbyuser[0]['id']
];
return View::make('sentry.user.edit', $data);
}
public function update($id)
{
$rules = array(
'nama_depan' => 'required',
'nama_belakang' => 'required',
'email' => 'required|email|unique:users,email,'. $id,
'password' => 'required|between:4,11|confirmed',
'confirmation_password' => 'between:4,11',
'group' => 'required',
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('user/'.$id.'/edit')->withErrors($validator)>withInput();
} else {
try
{
$user = Sentry::findUserById($id);
$groupbyuser = $user->getGroups();
$groupbyuser = json_decode($groupbyuser, true);
$groupbyuser = Sentry::findGroupById($groupbyuser[0]['id']);
$user->removeGroup($groupbyuser);
$groupbyuser = Sentry::findGroupById(Input::get('group'));
$user->addGroup($groupbyuser);
$user->first_name
= Input::get('nama_depan');
$user->last_name = Input::get('nama_belakang');
$user->email = Input::get('email');
$user->password = Input::get('password');
if ($user->save())
{
Session::flash('message', 'Data Berhasil Ditambahkan');
return Redirect::to('user');
}
else
{
Session::flash('message', 'Data Gagal Ditambahkan');
return Redirect::to('user');
}
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
}
52
catch (Cartalyst\Sentry\Users\UserExistsException $e)
53
{
54
Session::flash('message', 'User with this login already
55 exists.');
56
return Redirect::to('user');
}
57
catch (Cartalyst\Sentry\Users\UserNotFoundException $e)
58
{
59
Session::flash('message', 'User was not found.');
60
return Redirect::to('user');
61
}
catch (Cartalyst\Sentry\Groups\GroupNotFoundException $e)
62
{
63
Session::flash('message', 'Group was not found.');
64
return Redirect::to('user');
65
}
66
}
67 }
Lalu buka file edit.blade.php yang telah dibuat sebelumnya didalam folder
app/views/sentry/user lalu tambahkan code ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@extends('layouts.master')
@section('content')
< div class="row">
< div class="col-lg-12">
< h1 class="page-header">
Halaman
< small>Ubah User< /small>
< /h1>
{{ Form::model($userbyid, array('route' => array('user.update',
$userbyid->id),'method' => 'PUT')) }}
< div class="form-group">
{{ Form::label('nama_depan', 'Nama Depan') }}
{{ Form::text('nama_depan', $userbyid->first_name,
array('class' => 'form-control','placeholder'=>'masukkan nama depan')) }}
{{ '< div>'.$errors->first('nama_depan').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('nama_belakang', 'Nama Belakang') }}
{{ Form::text('nama_belakang', $userbyid->last_name,
array('class' => 'form-control','placeholder'=>'masukkan nama belakang'))
}}
{{ '< div>'.$errors->first('nama_belakang').'< /div>' }}
< /div>
< div class="form-group">
{{ Form::label('email', 'Email') }}
{{ Form::text('email', null, array('class' => 'formcontrol','placeholder'=>'masukkan email')) }}
{{ '< div>'.$errors->first('email').'< /div>' }}
< /div>
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Untuk mencoba menjalakan silahkan klik tombol ubah, lalu ubah data yang diingikan dan klik
simpan. Berikut hasil dari form ubah / update user menggunakan sentry.
Sekarang buka file UserController.php dan tambahkan code dibawah ini, dibawah function
update.
1
2
3
4
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
5
6
7
8
9
10
11
12
}
13
14
15
$user->delete();
}
catch (Cartalyst\Sentry\Users\UserNotFoundException $e)
{
Session::flash('message', 'User was not found.');
return Redirect::to('user');
}
Session::flash('message', 'Data Berhasil Dihapus');
return Redirect::to('user');
Tutorial diatas hanya cara dasar menggunakan package cartalyst sentry untuk membuat user,
mengubah user dan menghapus user serta memilih group untuk si user. Sekian tutorial package
sentry untuk laravel bagian user untuk selanjutnya kita akan belajar authentication and login
cartalyst sentry menggunakan framework laravel. Jika ada hal yang kurang dipahami anda bisa
berkomentar dibawah ini. Dan jangan lupa di share ya kawan terimakasih.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB XII
12.
Akhirnya kita sampai pada tutorial authentication and login pada sentry di framework laravel.
Pada tutorial kali ini kita akan membahas bagaimana cara membuat authentication dan login
cartalyst sentry di framework laravel. Pada dasarnya komponen yang perlu kita pahami di
tutorial ini adalah Sentry::authenticate dan hasAccess. Ingat agar lancar anda mengikuti
tutorial ini anda harus mengikuti dari awal tutorial sentry ini. Berikut ini tampilan halaman
login yang dibuat menggunakan package cartalyst sentry dan framework laravel.
Pada tutorial sebelumnya kita sudah membahas membuat group dan user. Pada group ketika kita
tambah dan ubah group kita juga menambah atau mengubah bagian permissions. Di tutorial
group untuk modul seperti masih saya buat manual ( daftar modul dengan checkbox masih
manual belum dalam database, baca bagian group). Disitu ada beberapa modul yang saya list
User, CRUD Query Builder dan CRUD Eloquent ORM. Lebih jelasnya lihat gambar dibawah
ini.
Dari gambar diatas kita yang akan kita uji coba di modul bagian CRUD Query Builder. Kalau
kita centang read saja misal maka aplikasi bisa diakses untuk membaca saja daftar profile. Jika
kita centang read dan create saja, maka aplikasi hanya bisa membaca dan membuat profile baru
dan seterusnya.
Kita langsung praktekan saja, buat file bernama login.blade.php letakkan pada folder
app/views/sentry. Setelah itu file login.blade.php isikan dengan code dibawah ini.
1
2
3
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{{ HTML::style('assets/css/bootstrap.min.css') }}
{{ HTML::style('assets/css/sb-admin.css') }}
{{ HTML::style('assets/font-awesome-4.1.0/css/font-awesome.min.css')
}}
< /head>
< body>
< div class="row">
< div class="col-lg-4 text-center">
< /div>
< div class="col-lg-4 text-center">
< div class="panel panel-default">
< div class="panel-body">
{{ Form::open(array('url' => 'login')) }}
< h1>Login< /h1>
< p>
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
{{ $errors->first('email') }}
{{ $errors->first('password') }}
< /p>
< p>
{{ Form::label('email', 'Email') }}
{{ Form::text('email',
Input::old('email'), array('class' => 'formcontrol','placeholder'=>'Masukkan Email')) }}
< /p>
< p>
{{ Form::label('password', 'Password')
}}
{{ Form::password('password',
array('class' => 'form-control','placeholder'=>'Masukkan Password')) }}
< /p>
< p>{{ Form::submit('Login', array('class'
=> 'form-control')) }}< /p>
{{ Form::close() }}
< /div>
< /div>
< /div>
< div class="col-lg-4 text-center">
< /div>
< /div>
< /body>
< /html>
// hilangkan spasi setelah tanda < agar program berjalan dengan benar
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Jika selesai simpan, selanjutnya buka UserController.php didalam folder controllers yang telah
kita buat sebelumnya dan tambahkan function atau code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
->withInput(Input::except('password'));
}
catch (Cartalyst\Sentry\Users\UserNotFoundException $e)
{
Session::flash('message', 'User was not found.');
return Redirect::to('login')
->withInput(Input::except('password'));
}
catch (Cartalyst\Sentry\Users\UserNotActivatedException $e)
{
Session::flash('message', 'User is not activated.');
return Redirect::to('login')
->withInput(Input::except('password'));
}
// The following is only required if the throttling is enabled
catch (Cartalyst\Sentry\Throttling\UserSuspendedException $e)
{
Session::flash('message', 'User is suspended.');
return Redirect::to('login')
->withInput(Input::except('password'));
}
catch (Cartalyst\Sentry\Throttling\UserBannedException $e)
{
Session::flash('message', 'User is banned.');
return Redirect::to('login')
->withInput(Input::except('password'));
}
}
}
// digunakan untuk mengecek apakah user / pengguna sudah login denga benar
Route::filter('sentry_auth',function(){
if(!Sentry::check()){
return Redirect::to('login');
}
});
// digunakan untuk mengecek apakan route / url / halaman yang diakses
// di user mempunyai hak untuk mengaksesnya
Route::filter('hasAccess', function($route, $request, $value)
{
try
{
$user = Sentry::getUser();
if( ! $user->hasAccess($value))
{
// jika user tidak mempunyai hak untuk akses maka dikembalikan ke
halaman login.
// ini bisa anda ubah ke error 404 / 503 atau bahkan ke halaman yang
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Sekarang yang terakhir buka file routes.php didalam folder app. Cari code dibawah ini jika
mengikuti dari awal tutorial.
1
2
3
4
5
6
Route::get('crud', 'CrudController@index');
Route::get('crud/create','CrudController@create');
Route::post('crud/create','CrudController@store');
Route::get('crud/edit/{id}', 'CrudController@edit');
Route::post('crud/update/{id}', array('as' => 'crud.update', 'uses' =>
'CrudController@update'));
Route::get('crud/destroy/{id}','CrudController@destroy');
Lalu hapus dan ubah menjadi seperti dibawah ini, jika tidak mengikuti tutorial dari awal bisa
menambahkan route seperti ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
));
Route::post('crud/create', array(
'as' => 'crud.store',
'before' => 'hasAccess:cqb.create',
'uses' => 'CrudController@store'
));
Route::get('crud/edit/{id}', array(
'as' => 'crud.edit',
'before' => 'hasAccess:cqb.update',
'uses' => 'CrudController@edit'
));
Route::post('crud/update/{id}', array(
'as' => 'crud.update',
'before' => 'hasAccess:cqb.update',
'uses' => 'CrudController@update'
));
Route::get('crud/destroy/{id}', array(
'as' => 'crud.destroy',
'before' => 'hasAccess:cqb.destroy',
'uses' => 'CrudController@destroy'
));
// route untuk logout
Route::get('logout', array('uses' => 'UserController@logout'));
});
Jika anda mengikuti tutorial ini dari awal, maka anda bisa menambahkan menu logout pada
menu sidebar aplikasi ini dengan code dibawah ini.
1
2
3
4
5
< li>
< a href="{{ URL::to('logout') }}">< i class="fa fa-fw fa-power-off"><
/i> Logout< /a>
< /li>
// Hilangkan spasi setelah tanda < agar program bejalan lancar
Selesai dilahkan buat group terlebih dahulu, lalu buat user dan coba jalankan serta pahami apa
yang terjadi. Jika ada kendala silahkan komentar dibawah ini. Itulah tutorial cara membuat
login menggunakan cartalyst sentry di framework laravel.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
BAB XIII
13.
Pada kesempatan kali ini seputar pemrograman akan membahas reset password atau forgot
paswword user. Pada tutorial sebelumnya kita sudah membahasa install, register, group, user
sampai auth dan login pada cartalyst sentry di framework laravel. Untuk membuat reset
password caranya sangat mudah karena sentry sendiri sudah menyediakan fungsinya. Salah
satunya yaitu menggunakan getResetPasswordCode() , dimana fungsi ini akan megenerate dan
mengambil reset password code didalam database. Berikut ini adalah tampilan reset password
sentry di framework laravel.
Langsung saja kita praktekan pertama bukan project anda, jika ingin lebih mudah anda harus
mengikut tutorial ini dari awal. Jika project sudah terbuka cari file UserController.php didalam
folder app/controllers. Jika sudah tambahkan fucntion / code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
68
69 }
Lalu simpan, sekarang buatlah file bernama reset.blade.php didalam folder app/views/sentry
lalu isikan dengan code ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
41
42 < /body>
43 < /html>
44
// hilangkan tanda spasi setelah tanda <
45
46
Simpan, kemudian buat file sekali lagi bernama validation.blade.php didalam folder
app/views/sentry lalu isi dengan code dibawah ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
38
39
40 => 'form-control'))
41
42
43
44
45
46
47
< /div>
48
49
< /body>
50 < /html>
Selesai simpan, lalu buka file login.blade.php didalam folder app/views/sentry lalu modifikasi
atau tambahkan code dibawah ini dtempat yang anda suka.
1 < a href="{{ URL::to('password/reset') }}">Reset Password< /a>
2
3 // hilangkan tanda spasi setelah tanda <
Untuk selanjutnya buka file routes.php didalam folder app tambahkan juga code atau route
berikut ini.
1 Route::get('password/reset','UserController@reset');
2 Route::post('password/reset','UserController@doReset');
3
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Yang terakhir jangan lupa cofigurasi mail.php didalam folder app/config. Jika selesai
configurasi untuk mencoba silahkan klik link reset password atau bisa mengakses url dibawah
ini.
1 http://localhost/projectlaravel/public/password/reset
Maka akan muncul form yang digunakan memasukkan email agar code reset terkirim ke email
yang kita inputkan sebelumnya, berikut tampilannya.
Untuk mencoba tentunya klik link reset password lalu akan muncul seperti form diatas isikan
email sesuai yang ada didalam database lalu klik tombol kirim dan cek inbox email anda.
Didalam pesan email anda akan ada sebuah link lalu klik, contohnya seperti dibawah ini.
Jika kita klik link tersebut makan akan muncul form untuk memasukkan password baru, seperti
gambar dibawah ini.
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com
Seputarpemrograman.com/
Laravel 4
Drafshare.blogspot.com