Selasa, 04 Desember 2018

Tutorial CRUD pada Laravel 5.5

Tutorial CRUD pada Laravel 5.5 (Lengkap)

Tutorial CRUD Laravel Terbaru
Halo sobat koder! Masih ngoding kan? 
Pada artikel kali ini, saya akan memberikan tutorial melakukan CRUD (Create, Read, Update dan Delete) pada Laravel. Sebelumnya saya pernah memberikan tutorial CRUD laravel untuk versi 5.3. Nah, pada kesempatan kali ini, saya akan mencoba mengupdatenya dengan versi yang terbaru yaitu laravel 5.5.
Oke gak perlu basa basi lagi, mari kita mulai saja project membuat CRUD di laravel 5.5. 

Install Laravel

Sebelum memulai melakukan CRUD di Laravel, tentunya kita harus install laravel dong. Tapi buat kalian yang sudah punya projectnya bisa skip tahap ini.
Sebelumnya saya telah membuatkan tutorial juga mengenai cara installnya, jadi untuk kalian yang belum pernah melakukan instalasi laravel, bisa langsung ke tutorial cara install laravel.
Jika kalian menggunakan linux atau macOS, silahkan lakukan konfigurasi permissions pada beberapa direktori laravel. Namun, jika kalian menggunakan windows bisa melewati bagian ini.
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cache
Pada tahap ini, seharusnya jika kalian menjalankan perintah php artisan serve pada terminal maka akan muncul tampilan berikut pada browser.

Tampilan awal laravel

Konfigurasi Database di Laravel

Setelah melakukan instalasi, tahap selanjutnya adalah melakukan konfigurasi database untuk digunakan laravel. Kalian cukup membuat database baru, dalam hal ini saya akan menggunakan database bernama kodehero_crud. Kalian bisa menamai database dengan nama apapun. Selanjutnya, buka file .env pada direktori root laravel, dan lakukan konfigurasi seperti berikut.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=kodehero_crud // Ganti dengan nama database kalian
DB_USERNAME=root          // Ganti dengan username database kalian
DB_PASSWORD=              // Ganti dengan password user database kalian

Membuat Model dan Migrations

Langkah selanjutnya adalah membuat model dan migrations. Sebelumnya saya pernah membuatkan tutorial mengenai pembuatan migrations menggunakan php artisan. Tetapi prosesnya masih membuat model dan migrations satu persatu. Kali ini akan saya ajarkan bagaimana membuat model dan migrations-nya dalam sekali perintah php artisan. Silahkan buka terminal yang kalian biasa gunakan dan panggil perintah berikut.
php artisan make:model Article -m
Pada perintah diatas, kita membuat model dengan nama Article. Kemudian, dengan menambahkan perintah -m dibelakangnya, maka laravel akan secara otomatis membuatkan migration-nya sekaligus. Praktis kan. 

Konfigurasi file migrations

Setelah berhasil membuat file migrations dengan perintah diatas. Sekarang saatnya mengisi kodingnya. buka file migrations yang telah dibuat tadi pada direktori database\migrations\xxxx_xx_xx_xxxxxx_create_articles_table.php. Pada method up, tambahkan beberapa koding berikut.
public function up()
{
    Schema::create('articles', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->text('content');
        $table->timestamps();
        $table->softDeletes();
    });
}
Pada kode diatas, saya hanya menggunakan 2 atribut saja untuk tabel articles supaya sederhana. Selain itu saya juga menggunakan softDeletes(), supaya nantinya operasi hapus data di tabel kita menggunakan prosedur soft delete bukan permanen delete.
Soft Delete merupakan metode yang sangat disarankan saat kalian melakukan operasi hapus data pada database, sehingga data tidak benar-benar hilang. Hal ini untuk mengantisipasi jika data yang kita hapus masih memiliki relasi dengan data di tabel lain yang tentunya akan mengakibatkan error saat data tersebut dihapus secara permanen.
Jika sudah, silahkan lakukan migrasi dengan perintah berikut.
php artisan migrate
Jika terdapat error specified key was too long, saya sudah menyiapkan tutorial untuk mengatasinya. silahkan baca solusi laravel error specified key was too long.

Konfigurasi file model Article

Setalah melakukan konfigurasi pada file migrations, sekarang saatnya kita melakukan konfigurasi di bagian modelnya. Silahkan buka file modelnya, biasanya terdapat pada direktori app\Article.php. Pada file model ini, saya hanya akan menambahkan beberapa atribut saja.
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Article extends Model
{
    // Digunakan untuk menggunakan soft delete secara default saat menghapus data
    use SoftDeletes;
 
    protected $fillable = [
        'title', 'content'
    ];
    protected $dates = ['deleted_at'];
}
Oke, cukup ini saja yang perlu kita lakukan pada modelnya. Selanjutnya adalah mengatur routingnya.

Konfigurasi Route di Laravel

Buka file route yang ada di direktori routes\web.php. Tambahkan baris kode berikut.
Route::resource('article', 'ArticleController');
Pada route diatas, saya menggunakan resource, sehingga kita tidak perlu lagi membuat route untuk CRUD satu persatu, Semua otomatis disediakan oleh laravel. 

Membuat Controller Resource untuk CRUD

Untuk membuat controller, cukup dengan menggunakan perintah php artisan saja. Tapi karena kita menggunakan route resource, maka kita akan membuat controller dengan resource juga. Lakukan perintah berikut pada terminal.
php artisan make:controller ArticleController -r
Perhatikan tambahan -r pada perintah diatas. Fungsinya adalah untuk membuat controller dengan tambahan fungsi untuk CRUD secara otomatis. Jika kalian buka file controller yang telah dibuat pada direktori app\Http\Controllers\ArticleController.php, maka kalian akan menemukan method index(), create(), store(), show(), edit(), update() dan destroy(). Fungsi inilah yang akan kita gunakan untuk membuat CRUD. Oke, silahkan masukan koding berikut untuk membuat CRUD-nya.
<?php

namespace App\Http\Controllers;

use App\Article;
use Illuminate\Http\Request;

class ArticleController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $articles = Article::orderBy('id', 'DESC')->paginate(5);
        return view('article.index', compact('articles'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('article.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $this->validate($request, [
            'title' => 'required',
            'content' => 'required'
        ]);

        $article = Article::create($request->all());

        return redirect()->route('article.index')->with('message', 'Artikel berhasil dibuat!');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $article = Article::findOrFail($id);
        return view('article.show', compact('article'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $article = Article::findOrFail($id);
        return view('article.edit', compact('article'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'title' => 'required',
            'content' => 'required'
        ]);

        $article = Article::findOrFail($id)->update($request->all());

        return redirect()->route('article.index')->with('message', 'Artikel berhasil diubah!');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $article = Article::findOrFail($id)->delete();
        return redirect()->route('article.index')->with('message', 'Artikel berhasil dihapus!');
    }
}
Kodingan diatas, dibuat sesederhana mungkin supaya mudah dipahami. Dalam kasus yang sesungguhnya, mungkin akan lebih rumit lagi prosesnya. Tapi karena ini hanya contoh CRUD yang sederhana, maka saya buat sesimpel mungkin.

Membuat View untuk CRUD di Laravel

Langkah berikutnya adalah membuat view. Karena pada bagian ini banyak file yang perlu dibuat secara terpisah, maka saya akan bagi menjadi beberapa sub bab.

Membuat layouts di laravel

Untuk membuat layouts, caranya cukup mudah. Silahkan buat folder baru pada direktori resources\views\. Kemudian buat file baru pada folder layouts yang telah kita buat. Pada tutorial ini saya menggunakan nama app.blde.php untuk file layoutnya. Jadi buat file baru pada direktori resources\views\layouts\app.blade.php. Supaya sederhana, saya akan menggunakan html biasa dengan sentuhan bootstrap.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <title>Kodehero - CRUD</title>
    <style>
        .martop-sm {margin-top: 15px;}
        .martop-lg {margin-top: 70px;}
    </style>
</head>
<body>
    <div class="container martop-lg">
        <div class="panel panel-default">
            <div class="panel-body">@yield('content')</div>
        </div>
    </div>
    
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</body>
</html>

Membuat View untuk Index 

Index disini, dimaksudkan untuk proses Read pada rangkaian CRUD. Jadi pada view ini, nantinya semua data akan ditampilkan disini. Buat file baru resources\views\article\index.blade.php.
@extends('layouts.app')

@section('content')
    <a href="{{ route('article.create') }}" class="btn btn-info btn-sm">Artikel Baru</a>
    
    @if ($message = Session::get('message'))
        <div class="alert alert-success martop-sm">
            <p>{{ $message }}</p>
        </div>
    @endif

    <table class="table table-responsive martop-sm">
        <thead>
            <th>ID</th>
            <th>Title</th>
            <th>Action</th>
        </thead>
        <tbody>
            @foreach ($articles as $article)
                <tr>
                    <td>{{ $article->id }}</td>
                    <td><a href="{{ route('article.show', $article->id) }}">{{ $article->title }}</a></td>
                    <td>
                        <form action="{{ route('article.destroy', $article->id) }}" method="post">
                            {{csrf_field()}}
                            {{ method_field('DELETE') }}
                            <a href="{{ route('article.edit', $article->id) }}" class="btn btn-warning btn-sm">Ubah</a>
                            <button type="submit" class="btn btn-danger btn-sm">Hapus</button>
                        </form>
                    </td>
                </tr>
            @endforeach
        </tbody>
    </table>
@endsection
Perlu diperhatikan disini, bahwa untuk penghapusan data sebaiknya kita menggunakan method post, bukan menggunakan link yang mengarah ke route destroy. Selain itu, karena kita menggunakan route resource, maka otomatis laravel meminta kita untuk mengirim data melalui HTTP REST, tetapi karena pada dasarnya HTML Form tidak support hal tersebut, kita harus menggunakan method spoofing. Dalam hal ini, saya menggunakan {{ method_field('DELETE') }} untuk mensimulasikan method DELETE

Membuat View untuk Create

Untuk Create, tentunya kita akan membuat sebuah form. Buat file baru pada direktori resources\views\article\create.blade.php. Silahkan lihat contohnya dibawah.
@extends('layouts.app')

@section('content')
<h4>Artikel Baru</h4>
<form action="{{ route('article.store') }}" method="post">
    {{csrf_field()}}
    <div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
        <label for="title" class="control-label">Title</label>
        <input type="text" class="form-control" name="title" placeholder="Title">
        @if ($errors->has('title'))
            <span class="help-block">{{ $errors->first('title') }}</span>
        @endif
    </div>
    <div class="form-group {{ $errors->has('content') ? 'has-error' : '' }}">
        <label for="content" class="control-label">Content</label>
        <textarea name="content" cols="30" rows="5" class="form-control"></textarea>
        @if ($errors->has('content'))
            <span class="help-block">{{ $errors->first('content') }}</span>
        @endif
    </div>
    <div class="form-group">
        <button type="submit" class="btn btn-info">Simpan</button>
        <a href="{{ route('article.index') }}" class="btn btn-default">Kembali</a>
    </div>
</form>
@endsection

Membuat View untuk Show

Untuk Show, kita hanya perlu menampilkan data salah satu artikel saja. Buat file baru pada direktori resources\views\article\show.blade.php dan gunakan contoh kode dibawah.
@extends('layouts.app')

@section('content')
<h4>{{ $article->title }}</h4>
<p>{{ $article->content }}</p>
<a href="{{ route('article.index') }}" class="btn btn-default">Kembali</a>
@endsection

Membuat View untuk Edit

Untuk edit kurang lebih mirip dengan saat membuat view untuk Create. Bedanya, disini, kita harus menampilkan data yang akan di edit pada form. Buat file baru pada direktori resources\views\article\edit.blade.php dan gunakan contoh kode dibawah.
@extends('layouts.app')

@section('content')
<h4>Ubah Artikel</h4>
<form action="{{ route('article.update', $article->id) }}" method="post">
    {{csrf_field()}}
    {{ method_field('PUT') }}
    <div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
        <label for="title" class="control-label">Title</label>
        <input type="text" class="form-control" name="title" placeholder="Title" value="{{ $article->title }}">
        @if ($errors->has('title'))
            <span class="help-block">{{ $errors->first('title') }}</span>
        @endif
    </div>
    <div class="form-group {{ $errors->has('content') ? 'has-error' : '' }}">
        <label for="content" class="control-label">Content</label>
        <textarea name="content" cols="30" rows="5" class="form-control">{{ $article->content }}</textarea>
        @if ($errors->has('content'))
            <span class="help-block">{{ $errors->first('content') }}</span>
        @endif
    </div>
    <div class="form-group">
        <button type="submit" class="btn btn-info">Simpan</button>
        <a href="{{ route('article.index') }}" class="btn btn-default">Kembali</a>
    </div>
</form>
@endsection
Sama seperti DELETE diatas, kita harus menggunakan method spoofing untuk menggunakan PUT pada proses update. Dalam hal ini, saya menggunakan {{ method_field('PUT') }} untuk mensimulasikan method PUT.

Percobaan Aplikasi

Setalah bersusah payah diatas, sekarang saatnya kita mencoba aplikasi kita. 
Kita jalankan dulu servernya dengan perintah php artisan serve. Selanjutnya buka browser dan arahkan ke URL localhost:8000/article. Jika berhasil maka akan muncul tampilan seperti dibawah.

Tampilan awal aplikasi
Kemudian, jika kita klik tombol Artikel Baru, maka akan diarahkan ke view Create. Jika berhasil maka tampilannya akan seperti ini.
Tampilan buat artikel baru
Silahkan coba untuk membuat artikel baru, jika ada kesalahan input data, maka aplikasi akan kembali ke halaman tersebut dan menampilkan pesan error. Namun, jika berhasil maka aplikasi akan kembali ke halaman index dengan pesan sukses.
Selanjutnya adalah percobaan untuk melihat data satuan. Caranya, klik saja link yang ada pada judul artikel. Maka akan terlihat tampilan artikel secara utuh.
Tampilan show artikel
Berikutnya, adalah percobaan ubah data. Jika kalian tekan tombol Ubah, maka aplikasi akan menuju view edit dengan tampilan sebagai berikut.
Tampilan ubah artikel
Sama seperti create, ketika tombol Simpan ditekan maka aplikasi akan mengecek input dari user, jika tidak ada kesalahan maka aplikasi akan kembali ke halaman index dan menampilkan pesan sukses.
Yang terakhir adalah proses delete. Jika tombol Hapus ditekan, maka data akan dihapus. Namun, hapus disini tidak secara permanen, melainkan hanya sementara menggunakan metode soft delete. Sehingga jika data ini nantinya punya relasi dengan data lain, tidak akan terjadi error jika dihapus.
 
Sumber : https://www.kodehero.com/2017/12/tutorial-crud-pada-laravel-55-lengkap.html

Tutorial Cara Menginstall Laravel 5.7 | AMPL

Cara menginstall Laravel di Windows dengan XAMPP | Laravel merupakan framework PHP paling populer saat ini, semakin hari semakin banyak yang menggunakan framework ini, bahkan developer yang terbiasa dengan framework seperti Codeigniter, Yii, CakePHP dan lainnya mulai pindah ke Laravel.
laravel framework

Sudah banyak juga perusahaan yang mulai memigrasikan sistem mereka ke Laravel.
Hal tersebut sangat wajar karena Laravel memang memberikan banyak fitur baru yang memudahkan para developer dalam mengelola project.
Pada kesempatan kali ini Jurnalweb akan membahas bagaimana cara menginstal Laravel 5.7 di Windows, dengan menggunakan XAMPP.
Sebagai catatan Laravel 5.7 merupakan versi terbaru saat artikel ini kami tulis, dan membutuhkan PHP versi 7.1.3 keatas serta beberapa ekstensi untuk bisa menjalankannya. Karena itu pastikan Anda menginstall XAMPP versi 7.2.0 keatas.

Mengintall XAMPP di Windows

Pertama kita perlu mendownload dan menginstall XAMPP for Windows di situs resmi apache friends.
* Jangan lupa download XAMPP versi 7.2.0 yang berisi PHP versi 7.1.3 keatas.
Download XAMPP Windows
Selanjutnnya install file yang sudah Anda download tadi, secara default XAMPP akan di install di folder C:\xampp. Anda juga bisa menginstall di lokasi lain.
Selanjutnya tinggal Next saja hingga selesai.
Lokasi XAMPP di Windows
Setelah XAMPP berhasil di Install maka Anda bisa mengakses aplikasi XAMPP untuk menjalankan Apache dan MySQL, tinggal klik tombol Start pada keduanya.
Menjalankan XAMPP
Jika server Apache sudah dijalankan maka Anda bisa mengakses halaman utamanya di http://localhost pada web browser.

Tampilan Dashboard XAMPP

Composer

Setelah Anda menginstall XAMPP, maka selanjutnya Anda perlu menginstall Composer.
Composer adalah dependency management atau bisa juga dibilang tool untuk mengelola paket(Package Manager/Management) yang terkait dengan PHP dan tentu untuk Laravel juga.
Anda bisa download Composer di website https://getcomposer.org.
Kami juga pernah menuliskan tutorial cara menginstall composer di Windows pada artikel terdahulu yang bisa Anda baca dan ikuti.

Cara Menginstall Laravel di Windows

Setelah PHP dan Composer terinstall, tibalah saatnya kita menginstall Laravel di windows, pastikan ada masuk ke folder c:/xampp/htdocs melalui Command Prompt (CMD) dengan mengetik perintah:
cd c:\xampp\htdocs.
Lalu jalankan perintah dibawah ini untuk menginstall laravel.
composer create-project laravel/laravel mylaravel "5.7.*"
Perintah tersebut akan membuat sebuah folder baru dengan nama mylaravel di c:\xampp\htdocs.
Ketika menjalankan perintah tersebut maka secara otomatis composer akan mendownload semua paket dependencies yang dibutuhkan untuk menjalankan Laravel ke folder mylaravel, anda perlu menunggu hingga selesai dan pastikan koneksi internet Anda bagus.
Jika sudah selesai maka Anda bisa lihat folder mylaravel sudah berisi struktur file sebagai berikut.
Struktur folder laravel

Menjalankan Laravel

Untuk menjalankan laravel maka masuk ke folder mylaravel dengan Command Prompt (CMD), lalu jalankan perintah artisan berikut:
php artisan serve
Sekarang Anda bisa mengakses halaman web Laravel Anda di browser dengan mengakses http://localhost:8000.
Selamat Mencoba…

Mengapa Laravel | Cara Menjadi Ahli Laravel

Kenapa memilih Laravel?

Yeayyyy… framework baru ? Mungkin pertanyaan Anda sama dengan saya, sudah ada cukup banyak framework PHP di dunia ini, mulai dari yang ringan dan mudah dipelajari seperti CodeIgniter, yang terlalu kompleks dan enterprise seperti Zend Framework, yang bisa simsalabim bikin prototype CRUD dalam hitungan detik semacam CakePHP, hingga yang lebih robust seperti Yii Framework.
Kemunculan framework bisa dikatakan mirip dengan kondisi partai di Indonesia, setiap musim selalu saja ada yang baru, dengan ideologi yang sebenarnya ga beda-beda jauh dari yang sudah ada. Kalau bukan performa yang sangat cepat, pasti yang diandalkan adalah kecepatan development dimana berbagai macam kebutuhan standard seperti autentikasi, form validation, dan query ke database sudah disediakan out of the box.







Framework PHP = partai di Indonesia, kebanyakan, ideologinya mirip-mirip
Nah, sejak tahun 2012 muncul satu fenomena yang cukup berbeda dan menarik perhatian,
Kenapa memilih Laravel ? Dimana ada satu framework yang membawa ideologi baru yang selama ini jarang diperhatikan, yaitu aspek “clean code” dan “expressiveness”. Framework ini mengaku “clean and classy”, kodenya lebih singkat, mudah dimengerti, dan ekspressif, jadi hanya dengan membaca sekilas kode yang ditulis Anda sudah bisa menduga apa maksudnya tanpa perlu membaca dokumentasi. Framework ini dinamakan LARAVEL.

Jadi, apa saja yang dimiliki laravel yang membuat saya jatuh hati padanya, dan mungkin juga Anda?

PHP 5.3

Tentu Anda sudah tahu bahwa php 5.3 memiki cukup banyak fitur baru dalam segi bahasa, yang membuat PHP terasa lebih modern dan powerfull. Laravel dikembangkan secara khusus untuk PHP 5.3, jadi framework ini bisa memanfaatkan berbagai macam kelebihan yang dimiliki PHP versi baru tersebut. Tidak ada backward compatibility dengan PHP versi sebelumnya.
Beberapa fitur yang cukup penting adalah namespace, anonymous function, dan autoloading.
Dengan namespace, Anda bisa membuat dua kelas dengan nama yang sama.
// file1.php
namespace Jungle;

class Tarzan {
  static function says() {
   echo 'auoowww';
  }
}

// file2.php
namespace City;

class Tarzan {
  static function says() {
   echo 'haloo';
  }
}
Anonymous function memungkinkan Anda membuat inline function, fungsi tanpa nama, seperti yang biasa Anda temui di JavaScript.
$input = array(1, 2, 3, 4, 5);
$output = array_filter($input, function ($v) { return $v > 2; });
Tahukah Kamu? Taylor Oatwell, sang creator Laravel, ternyata memiliki latar belakang .Net. Seperti yang sudah umum diketahui bahwa teknologi .Net biasa digunakan untuk membuat aplikasi enterprise. Dan Taylor Oatwell mencoba mengaplikasikan pengalamannya tersebut ke dalam Laravel. Dia baru mulai belajar PHP setelah versi 5.3 dirilis dan Laravel sangat beruntung karena keterlambatan mengenal PHP tersebut membuat Laravel tidak terkontaminasi dengan ‘backward compatibility’ PHP dan bisa fokus memanfaatkan fitur-fitur barunya.

Syntax yang Cool & Expressive

Coba bandingkan dua buah kode berikut, yang mememiliki tujuan yang sama, tapi dengan gaya penulisan yang berbeda:
// kode 1, framework xxx
$uri = Uri::create('some/uri', array(), array(), true)

// kode 2, Laravel
$url = URL::to_secure('some/uri');
Untuk kode pertama, Anda pasti bertanya-tanya apa sih maksud parameter kedua, ketiga, dan keempat. Singkatnya, parameter keempat berfungsi sebagai flagging, true untuk https dan false untuk http.
Laravel melakukan pendekatan yang berbeda dengan membuang parameter yang sifatnya flagging dan memilih untuk membuat dua fungsi yang berbeda. Bagi saya pendekatan semacam ini lebih jelas karena minimal satu parameter fungsi telah berkurang. Less is more.
Contoh lain dimana laravel memiliki kesederhanaan adalah masalah routing. Pada prinsipnya membangun website hanyalah masalah request-response. Ada request terhadap halaman x dan Anda harus menyediakan response x. Untuk itulah Laravel menerapkan prinsip routing yang sangat simpel:
// output html menggunakan simpel echo
Route::get('halo', function()
{
    echo 'halo, saya web artisan';
});

// output menggunakan view terpisah, seperti yang lazim ditemui di framework berbasis MVC
Route::get('home', function()
{
    return View::make('home.index');
});
Ok, terlihat terlalu simpel malahan, dan mungkin Anda bertanya-tanya dimana Controllernya? Kita akan membahasnya lebih mendalam di kesempatan lain. Untuk saat ini saya hanya ingin memperlihatkan betapa Laravel sangan simpel dan bersih, bahkan tanpa Model, View, atau Controller pun Anda tetap bisa membuat website :)

Composer

Composer adalah sebuah ‘dependency manager’ untuk PHP. Anda bisa menginstall suatu library melalui composer dan composer akan secara otomatis menginstall library lain yang dibutuhkan, tanpa perlu mendownload satu persatu. Mirip dengan apt get install di sistem operasi linux.
Contoh file yang mendeskripsikan dependensi:
{
    "require": {
        "vendor/package": "1.3.2",
        "vendor/package2": "1.*",
        "vendor/package3": ">=2.0.3"
 }
}
Lalu jalankan:
composer update
Dan seluruh library yang Anda butuhkan akan otomatis didownload dan siap digunakan. Untuk lebih jelasnya silakan kunjungi https://packagist.org/.

Official Website yang Keren








Tampilan homepage laravel.com
Web laravel.com terlihat simpel, menarik, jelas dan mudah digunakan, dengan pilihan warna yang out of the box. Jika mereka bisa membuat website yang indah dan enak dilihat, maka saya yakin mereka juga bisa membuat framework yang indah dan nyaman digunakan.

Sumber : http://id-laravel.com/post/kenapa-memilih-laravel

Tutorial CRUD pada Laravel 5.5

Tutorial CRUD pada Laravel 5.5 (Lengkap) December 19, 2017 laravel , php , tutorial , web , web series Halo sobat kode...