Judul : Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh
link : Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh
Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh
Sebelumnya jika kita ingin membuat sebuah aplikasi Create, Read, Update dan Delete (CRUD) sederhana menggunakan framework laravel, di laravel kita bisa membuatnya dengan begitu mudah dan simple. Kita cuma harus tahu langkah-langkahnya saja.
Minimal catat langkah-langkahnya saja, tidak perlu harus hafal codenya, karena terlalu banyak untuk di hafal.
Disini saya akan memberikan langkah-langkah membuat aplikasi CRUD sederhana menggunakan Laravel 5.2.
Jika kalian tidak mempunyai project laravel, bisa ikuti terlebih dahulu cara install laravel di postingan sebelumnya Membuat project laravel
Ritaul yang pertama harus didahulukan yaitu menambahkan library di projek kita, keunggulan laravel yaitu terdapat banyaknya library yang dapat kita gunakan seenak kita. hahha
Kegunaan library ini tidak kurang dan tidak lebih untuk membantu dalam proses coding udah itu saja. untuk pembahasan bagaimana membuat library dsb lain waktu saya jelaskan. xoxoxoox
Jika kita sudah mempunyai projeck laravel di laptop kita, buka file composer.json didalam require kita tambahkan lagi "laravelcollective/html": "5.2.*" sehingga menjadi seperti ini :
Selanjutnya kita buka conposer dan jalankan code berikut
Ritaul yang pertama harus didahulukan yaitu menambahkan library di projek kita, keunggulan laravel yaitu terdapat banyaknya library yang dapat kita gunakan seenak kita. hahha
Kegunaan library ini tidak kurang dan tidak lebih untuk membantu dalam proses coding udah itu saja. untuk pembahasan bagaimana membuat library dsb lain waktu saya jelaskan. xoxoxoox
Jika kita sudah mempunyai projeck laravel di laptop kita, buka file composer.json didalam require kita tambahkan lagi "laravelcollective/html": "5.2.*" sehingga menjadi seperti ini :
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"laravelcollective/html": "5.2.*"
}
Untuk apa si ini? ya intinya laravelcollective ini untuk mempermudah dalam penulisan code. Untuk lebih jelasnya kalian bisa lihat penjelasannya disini Selanjutnya kita buka conposer dan jalankan code berikut
composer update
Selanjutnya buka file App.php yang ada pada folder Config/app.php lalu tambahkan code berikut pada bagian 'provider' .Collective\Html\HtmlServiceProvider::class,
dan code berikut pada bagian 'aliases''Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
Setelah ritual awal sudah dipersiapkan sekarang mari lakukan. siap siap- Pertama kita bikin database dengan nama “crud” tanpa tanda petik. Saya perkiraan semuanya sudah menginstall xampp di laptopnya.
- Karena laravel telah membuat default 2 table yaitu table users dan table password_reset jadi kita tidak perlu membuat table lain. Buka file yang berada di folder database/migrations disana bias kita lihat file create_users_table.php dan create_password_reset_table.php . Kedua file php ini merupakan file untuk menggenerate table, jadi kita tidak perlu lagi membuka php myadmin untuk membuat table.
- Setelah membuat database crud tadi, kita setting koneksi databasenya, kita bisa rubah di file database.php yang berada di folder config.
- Setelah pengaturan di config sudah selesai, sekarang kita cari file .env , file ini berada di luar folder. Edit user untuk login ke database.
- Membuat data dummy menggunakan seeder. Buka folder database -> seeds dan buat file dengan nama user_dummy_seeder.php selanjutnya isikan code berikut
- Sekarang buka composer dan ketikan php artisan migrate.
- Selanjutnya kita tambahkan baris kode di route dengan menambahkan code berikut
- Sebelumnya kita tidak memiliki controller satupun, tetapi kita membutuhkan controller sebagai penyambung antara view dan model, oleh karenanya kita buat controller users menggunakan composer, jalankan baris code ini di composer.
- Selanjutnya kita buka userControllernya dan sudah terdapat fungsi-fungsi seperti berikut
- Membuat file index.blade.php di folder resource/view/users. Pertama kita buat terlebih dahulu folder users. Ini merupakan halaman pertama sebagai root file yang pertama ketika aplikasi kita di buka. Setiap view file yang akan kita buat jangan lupa kita menambhkan blade. Blade ini merupakan ritual yang harus ada ketika membuat view di framework laravel. Selanjutnya isi file index.blade.php tadi dengan code berikut
- Setelah membuat view seelanjutnya kita buat file layout user.blade.php buat folder layouts dan simpan didalamnya. File ini digunakan sebagai rangka dari semua halaman yang akan kita buat. Masukan code berikut
- Kembali lagi ke file controller yang telah kita buat dan tambahkan di function create()
- Sama seperti membuat file index kita buat juga file view dengan nama create.blade.php dan masukan code berikut
- Selanjutnya mengedit function store() di controller, kita tambahkan code berikut
- Buka model User.php di folder App ganti sembua code dengan code berikut.
- Kembali lagi ke controller, kita tambahkan lagi code berikut di function edit()
- Tambah function update() dengan beberapa baris code sebagai berikut
- Begitu juga tambah function destroy() sebagai berikut
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost:8080'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'crud'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crud
DB_USERNAME=root
DB_PASSWORD=''
public function run()
{
$users = [
['name' => 'Robi Alisandi', 'email' => 'alisandi@gmail.com', 'password' => bcrypt('heloword')],
['name' => 'Ridwan Kamil', 'email' => 'kamil@gmail.com', 'password' => bcrypt('heloword')],
['name' => 'Beby Jovanca', 'email' => 'baby@gmail.com', 'password' => bcrypt('heloword')],
['name' => 'Ronaldo', 'email' => 'ronaldo@gmail.com', 'password' => bcrypt('heloword')],
['name' => 'Agnes Mo', 'email' => 'agnes@gmail.com', 'password' => bcrypt('heloword')],
];
DB::table('users')->insert($users);
}
Code ini dibuat untuk membuat data acak yang kita butuhkan sebagai data awal(initial) sebelum kita menginputnya. Selanjutnya kita edit file DatabaseSeeder.php dan tambahkan code berikut public function run()
{
$this->call(user_dummy_seeder::class);
}
php artisan migrate
Route::resource('users', 'UserController');
php artisan make:controller –resource userController
Sesudah kita menjalankan code tersebut sekarang kita telah membuat file controller, kita bisa melihatnya di folder App->Http->Controller maka terdapat file userController.php yang telah kita buat.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Redirect;
use App\Http\Requests;
use App\User;
use View;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
Di code tersebut kita talah memiliki beberapa fungsi seperti fungsi index sebagai fungsi untuk halaman awal, fungsi create untuk halaman form isian data, fungsi store untuk proses penyimpanan, fungsi show untuk menampilkan data, fungsi edit untuk menampilkan halaman update/edit, fungsi update untuk proses penyimpanan update, dan terkahir fungsi destroy untuk menghapus data. Selanjutnya kita tambahkan code berikut didalam fungsi index public function index()
{
$users = User::paginate(5);
return View::make('users.index', compact('users'));
}
@extends('layouts.user')
@section('main')
<h1>All Users</h1>
<p>{{ link_to_route('users.create', 'Add new user')}}</p>
@if($users->count())
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Password</th>
<th colspan="2"></th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td>{{ $user->password }}</td>
<td>{{ link_to_route('users.edit', 'Edit', array($user->id), array('class' => 'btn btn-info')) }}</td>
<td>
{{ Form::open(array('method' => 'DELETE', 'route' => array('users.destroy', $user->id))) }}
{{ Form::submit('Delete', array('class' => 'btn btn-danger')) }}
{{ Form::close() }}
</td>
</tr>
@endforeach
</tbody>
</table>
{{ $users->links() }}
@else
There are no users
@endif
@stop
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css">
<style>
table form { margin-bottom: 0; }
form ul { margin-left: 0; list-style: none; }
.error { color: red; font-style: italic; }
body { padding-top: 20px; }
</style>
</head>
<body>
<div class="container">
@if (Session::has('message'))
<div class="flash alert">
<p>{{ Session::get('message') }}</p>
</div>
@endif
@yield('main')
</div>
</body>
</html>
Penggalan code tersebut saya ambil dari bootstrap. View ini bisa kita modifikasi tampilannya sesuai selera.
return View::make('users.create');
Penjelasan code tersebut terdapat baris code users.create. Users merupakan nama folder di view dan create nama filenya.
@extends('layouts.user')
@section('main')
<h1>Create User</h1>
{{ Form::open(array('route' => 'users.store')) }}
<ul>
<li>
{{ Form::label('name', 'Name:') }}
{{ Form::text('name') }}
</li>
<li>
{{ Form::label('username', 'Username:') }}
{{ Form::text('username') }}
</li>
<li>
{{ Form::label('password', 'Password:') }}
{{ Form::password('password') }}
</li>
<li>
{{ Form::label('password', 'Confirm Password:') }}
{{ Form::password('password_confirmation') }}
</li>
<li>
{{ Form::label('email', 'Email:') }}
{{ Form::text('email') }}
</li>
<li>
{{ Form::label('phone', 'Phone:') }}
{{ Form::text('phone') }}
</li>
<li>
{{ Form::submit('Submit', array('class' => 'btn')) }}
</li>
</ul>
{{ Form::close() }}
@if ($errors->any())
<ul>
{{ implode('', $errors->all('<li class="error">:message</li>')) }}
</ul>
@endif
@stop
File ini digunakan sebagai halaman ketika kita menginput data
public function store(Request $request)
{
$input = Input::all();
$validation = Validator::make($input, User::$rules);
if ($validation->passes())
{
User::create($input);
return Redirect::route('users.index');
}
return Redirect::route('users.create')
->withInput()
->withErrors($validation)
->with('message', 'There were validation errors.');
}
<?php
namespace App;
use Eloquent;
class User extends Eloquent {
protected $guarded = array('id');
protected $fillable = array('name', 'email');
public static $rules = array(
'name' => 'required|min:5',
'email' => 'required|email'
);
}
public function edit($id)
{
$user = User::find($id);
if (is_null($user))
{
return Redirect::route('users.index');
}
return View::make('users.edit', compact('user'));
}
public function update(Request $request, $id)
{
$input = Input::all();
$validation = Validator::make($input, User::$rules);
if ($validation->passes())
{
$user = User::find($id);
$user->update($input);
return Redirect::route('users.show', $id);
}
return Redirect::route('users.edit', $id)
->withInput()
->withErrors($validation)
->with('message', 'There were validation errors.');
}
public function destroy($id)
{
User::find($id)->delete();
return Redirect::route('users.index');
}
Dari semua proses yang telah kita lakukan kita bisa melihat hasilnyaSelesai deh Artikel Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh
Sekian dulu ya artikel Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh kali ini, Semoga bisa memberi manfaat untuk kalian semua. Oke, sampai berjumpa lagi di artikel lainnya.
Anda saat ini membaca artikel Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh dengan url http://advancedteamcode.blogspot.com/2016/08/membuat-aplikasi-crud-menggunakan.html
0 Response to "Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh"
Post a Comment