Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh

Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh - Hay berjumpa lagi sahabat setia ATC Arul Ajeh, Pada Artikel kali ini dengan judul Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh, kami telah menyiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi artikel Artikel laravel, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh
link : Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh

Baca juga


Membuat aplikasi crud menggunakan laravel 5.2 By Arul Ajeh



Membuat aplikasi crud menggunakan laravel 5.2

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 :
"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

  1. Pertama kita bikin database dengan nama “crud” tanpa tanda petik. Saya perkiraan semuanya sudah menginstall xampp di laptopnya.
  2. 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.

  3. Setelah membuat database crud tadi, kita setting koneksi databasenya, kita bisa rubah di file database.php yang berada di folder config.
  4. '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,
            ],
  5.  Setelah pengaturan di config sudah selesai, sekarang kita cari file .env , file ini berada di luar folder. Edit user untuk login ke database.
  6. DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=crud
    DB_USERNAME=root
    DB_PASSWORD=''
  7.  Membuat data dummy menggunakan seeder. Buka folder database -> seeds dan buat file dengan nama user_dummy_seeder.php selanjutnya isikan code berikut
  8. 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);
        }
  9. Sekarang buka composer dan ketikan php artisan migrate.
  10. php artisan migrate
  11. Selanjutnya kita tambahkan baris kode di route dengan menambahkan code berikut 
  12. Route::resource('users', 'UserController');
  13. 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.
  14. 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.
  15. Selanjutnya kita buka userControllernya dan sudah terdapat fungsi-fungsi seperti berikut
  16. <?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'));
        }
  17. 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
  18. @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
  19. 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  
  20. <!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.
  21. Kembali lagi ke file controller yang telah kita buat dan tambahkan di function create()
  22. return View::make('users.create');
    Penjelasan code tersebut terdapat baris code users.create. Users merupakan nama folder di view dan create nama filenya.
  23. Sama seperti membuat file index kita buat juga file view dengan nama create.blade.php dan masukan code berikut
  24. @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
  25. Selanjutnya mengedit function store() di controller, kita tambahkan code berikut
  26. 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.');
        }
  27. Buka model User.php di folder App ganti sembua code dengan code berikut.
  28. <?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'
      );
    }
  29. Kembali lagi ke controller, kita tambahkan lagi code berikut di function edit()
  30. public function edit($id)
        {
            $user = User::find($id);
            if (is_null($user))
            {
                return Redirect::route('users.index');
            }
            return View::make('users.edit', compact('user'));
        }
  31. Tambah function update() dengan beberapa baris code sebagai berikut
  32. 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.');
        }
  33. Begitu juga tambah function destroy() sebagai berikut
  34. public function destroy($id)
        {
            User::find($id)->delete();
            return Redirect::route('users.index');
        }
    Dari semua proses yang telah kita lakukan kita bisa melihat hasilnya


Selesai 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 https://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