Selasa, 10 Februari 2015

Blade Templating pada Laravel

Blade adalah suatu templating engine bawaan Laravel yang berfungsi untuk menyederhanakan suatu syntax dengan menerjemahkan syntax php atau html , dengan blade ini code kita lebih terstruktur berbeda dengan php apabila digabungkan dengan html terlihat acak - acakan.
Agar kita dapat menggunakan blade , pada setiap file harus menggunakan extensi blade. Misalnya biasanya kita membuat index.php ubah menjadi index.blade.php.
Contoh penggunaan blade
 {{ 'nama saya adalah : '.$name }} 
Kode di atas pada php sama sengan
<?php echo 'nama saya adalah : '.$name; ?>
Bagaimana lebih simple blade kan ? namun ada beberapa kelemahan salah satunya yang saya tahu blade tidak bisa mendeklarasikan variable , contoh $name = 'Udin'; Jadi untuk mendeklarasikan variable tetap menggunakan tag PHP  <? php $name='Udin' ?> .

Macam Syntax Blade

Blade pada Laravel memungkinkan kita untuk memisahkan layout, echo data, melakukan looping, menggunakan statement if - else, include view.
Echo Data
 Woy , {{{ $nama }}}. Sekarang Tanggal {{date('d/m/Y)}}
Echo Data dengan aman (escape.html)
 Woy lo {{{ $nama }}} minta duit ! 
Cek data sebelum menampilkan
{{{ isset($nama) ? $nama : 'Udin' }}} 
 {{{ $nama or 'Udin' }}} 
2 Kode di atas bila diartikan cek variabel nama jika ada tampilkan namanya kalo tidak tampilkan 'Udin'.
If Statement
 @if (count($pesan) === 1)
   kamu dapat pesan
 @elseif (count($pesan) > 1)
   Cie kamu dapat pesan banyak euy !!
 @else
   Kasian kamu tidak dapat pesan
 @endif 
 @unless (Auth::check())
   Kamu belum login
 @endunless
unless kebalikan dari if. pada unless dijalankan jika kondisi tidak terpenuhi
Looping
 @for ($i = 1; $i < 10; $i++)
   {{ $i }} 
 @endfor
 @forelse($mahasiswa as $data)
  <li>{{ $user->nama }}</li>
 @empty
  Tidak ada mahasiswa
 @endforelse
Jika ada isi dari $mahasiswa tampilkan 'data' jika kosong tampilkan pesan 'tidak ada mahasiswa'
 @while (true)
  Tulisan ini akan diulang ulang sampai akhir zaman
 @endwhile
 Menggunakan Include
 @include('folder.view')
 include dengan parsing parameter
 @include('folder.view', array('nama'=>'uink'))
Include / mamasukan view dari view lain, dimana anda ingin menampilkannya cukup @include saja.
Penulisan Komentar 
 {{-- ini komentar tidak akan di render html / tidak akan tampil --}}
 Menggunakan Layout
Misalnya anda ingin membuat layout yang akan dipakai oleh beberapa view. Buat sebuah view di app/views/  dengan nama layout.blade.php 
layout.blade.php
 <!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8" />
 <title>my app</title>
</head>
<body>

 @yield('content')

</body>
</html>
pada kode diatas kita melihat hal yang aneh yaitu @yield('content') . itu adalah view yang akan ditampilkan jika memanggil layout ini dengan mengextends content. tulisan content bisa diganti dengan apa saja terserah anda. Lalu buat sebuah view pada app/views/user/ dengan nama user.blade.php isi nya sebagai berikut :
@extends('layout')

@section('content')
 
 <p>Tulisan ini diletakan di dalam content</p>

@stop
Penjelasan :
  • @extends('layout') berarti view ini menggunakan layout dari app/views/layout
  • $section('content') berarti view ini diletakan ditempat dimana ada perintah @yield('content') pada layout terkait
  • @stop yang ditampilkan cukup sampai disitu.
Sekian penjelasan tentang Blade Templating pada Laravel. Pada dasarnya Blade hanya membantu menangani syntax yang sering dipakai namun dalam beberapa kasus kita harus tetap menggunakan tag PHP.

Sumber : Ilmuwebsiteku.com  Blade Templating Laravel

Relasi Database dengan Eloquent di Laravel

Pasti anda pernah mengalami kasus ingin menampilkan nama atau detail berdasar id dari tabel lain misalnya pada tabel barang terdapat id_supplier dengan value 1 , kamu ingin menampilkan siapa sih supplier itu beserta detail nya seperti nama,alamat,tlp dll. nah itu harus menggunakan relasi antar tabel
kali ini saya akan membahas penggunaan relasi pada laravel menggunakan Eloquent,
  • Buat sebuah project laravel baru , sebagai contoh berinama 'relasi' . dengan composer create-project laravel/laravel relasi-laravel --prefer-dist  kalau anda bingung baca Instalasi Laravel.
  • Siapkan database yang akan digunakan dan lakukan configurasi di app/config/database.php 
  • Buat 2 buah tabel berinama barang dan pemasok,  copas saja  script slq dibawah .
 CREATE TABLE IF NOT EXISTS `barang` (
`id_barang` int(11) NOT NULL,
 `nama` varchar(255) NOT NULL,
 `jumlah` int(11) NOT NULL,
 `id_pemasok` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

INSERT INTO `barang` (`id_barang`, `nama`, `jumlah`, `id_pemasok`) VALUES
(1, 'Djarum Black', 4, 1),
(2, 'Mizone', 5, 1),
(3, 'Aqua 100ml', 10, 1),
(4, 'Avian', 10, 2),
(5, 'Falcon Gold', 12, 2),
(6, 'Gembok Yale', 16, 2);

CREATE TABLE IF NOT EXISTS `pemasok` (
`id_pemasok` int(11) NOT NULL,
 `nama` varchar(255) NOT NULL,
 `alamat` text NOT NULL,
 `telepon` varchar(20) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

INSERT INTO `pemasok` (`id_pemasok`, `nama`, `alamat`, `telepon`) VALUES
(1, 'PT.IndoFood', 'Jl.Papandayan Bandung', '0876637182'),
(2, 'PT.Barokah Jaya', 'Jl.Cimanuk Garut', '08384758945');

Relasi One to One

- Model
Buat 2 model baru dengan nama Barang dan Pemasok pada direktori app/models/
Model Barang 
app/models/Barang.php
class Barang extends Eloquent {

 protected $table = 'barang'; //Mendefinisikan tabel terkait
 protected $primaryKey = 'id_barang'; //Mendefinisikan primaryKey dari tabel terkait

 //Buat function baru yang nantinya akan dipanggih
 public function pemasok() {
 //Relasi one to one menggunakan fungsi belongsTo
 // Barang adalah nama class yang akan direlasikan
 // id_pemasok maksudnya merelasikan berdasarkan id_pemasok yang ada di tabel barang
 return $this->belongsTo('Pemasok', 'id_pemasok');
 }

}
Model Pemasok
app/models/Pemasok.php
 class Pemasok extends Eloquent {

 protected $table = 'pemasok'; //Mendefinisikan tabel terkait
 protected $primaryKey = 'id_pemasok'; //Mendefinisikan primaryKey dari tabel terkait

}
- Route
Disini kita akan menampilkan field dari database dengan memanfaatkan relasi yang ada.
 Route::get('relasi-1', function()
 {
  $query = Barang::where('id_barang',1)->first();

  return $query->pemasok->nama;
});
Penjelasan dari script di atas :
  • $query berisi satu record barang yang diambil berdasarkan id_barang
  • pemasok function yang ada pada model Barang.
  • nama field yang ingin ditampilkan dari tabel pemasok
- Output

Relasi One to Many

- Model
Untuk model barang biarkan dulu seperti itu , kita akan melakukan sedikit perubahan pada model Pemasok  yaitu menambahkan function bernama barang.
- Model Pemasok
app/models/Pemasok.php
 class Pemasok extends Eloquent {

 protected $table = 'pemasok'; //Mendefinisikan tabel terkait
 protected $primaryKey = 'id_pemasok'; //Mendefinisikan primaryKey dari tabel terkait

 //Buat function baru yang nantinya akan dipanggih
 public function barang() {
 //Relasi one to one menggunakan fungsi belongsTo
 // Barang adalah nama class yang akan direlasikan
 // id_pemasok maksudnya merelasikan berdasarkan id_pemasok yang ada di tabel barang
 return $this->hasMany('Barang', 'id_pemasok');
 }

}
- Route
Disini kita akan menampilkan barang berdasarkan pemasok.
 Route::get('relasi-2',function(){

 $pemasok = Pemasok::where('id_pemasok',1)->first();
     echo 'Pemasoknya : '. $pemasok->nama;

 foreach ($pemasok->barang as $data)
     echo '<li> Barang : ' . $data->nama .'</li>';

});
Penjelasan :
  • foreach menampilkan data barang 
  • $pemasok->barang mengambil semua data barang yang berdasarkan pemasok terkait.
  • $data->nama field yang ditampilkan dari tabel barang.   
 - Output

 Relasi Many to Many

Penerapan relasi many to many dalam pembahasan ini kita membuat 3 buah tabel baru yaitu post , tag dan tag_relasi,
 CREATE TABLE IF NOT EXISTS `post` (
`id_post` int(11) NOT NULL,
 `judul` varchar(255) NOT NULL,
 `content` text NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `post`
--

INSERT INTO `post` (`id_post`, `judul`, `content`) VALUES
(1, 'Membuat Relasi dengan Eloquent di Laravel', 'cara membuat relasi dengan eloquent adalah bla bla bla '),
(2, 'Tutorial PHP dan Mysql', 'php dan mysql adalah sesuatu yang tidak bisa dipisahkan dalam sistem informasi.......'),
(3, 'Tutorial database mySql', 'cara menggunakan database sql adalah bla, bla, bla'),
(4, 'Tutorial array dengan PHP', 'caranya adalah bla, bla, bla '),
(5, 'Tutorial Laravel pemula', 'Laravel adalah ....');

CREATE TABLE IF NOT EXISTS `tag` (
`id_tag` int(11) NOT NULL,
 `tag` varchar(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tag`
--

INSERT INTO `tag` (`id_tag`, `tag`) VALUES
(1, 'laravel'),
(2, 'framework'),
(3, 'eloquent'),
(4, 'database'),
(5, 'php'),
(6, 'Sql');

CREATE TABLE IF NOT EXISTS `tag_relasi` (
 `id_tag` int(11) NOT NULL,
 `id_post` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tag_relasi`
--

INSERT INTO `tag_relasi` (`id_tag`, `id_post`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 2),
(4, 2),
(4, 3),
(5, 4),
(6, 1),
(6, 2),
(1, 5);
- Model Post
 class Post extends Eloquent {

   protected $table = 'post'; #Deklarasikan nama tabel
   protected $primaryKey = 'id_post'; #Deklarasikan primary key dari tabel terkait

 # buat function baru berinama tag
 # Many to many menggunkan fungsi belongsToMany
 # Tag adalah model , tag_relasi tabel pivot

 public function tag() {
      return $this->belongsToMany('Tag', 'tag_relasi', 'id_post', 'id_tag');
 }

}
- Model Tag
 class Tag extends Eloquent {

 protected $table = 'tag';
 protected $primaryKey = 'id_tag';

 # buat function baru berinama post
 # Many to many menggunkan fungsi belongsToMany
 # Post adalah model , tag_relasi tabel pivot
 
 public function post() {
 return $this->belongsToMany('Post', 'tag_relasi', 'id_tag', 'id_post');
 }

}
Untuk tabel tag_relasi tidak perlu dibuatkan model karena hanya merupakan tabel pivot (perantara).
- Route
Pada route relasi-4  menampilkan tag berdasarkan post dan route relasi-5 menampilkan post berdasarkan tag
 Route::get('relasi-4', function() {

 # panggil post berdasarkan id 
 $post = Post::where('id_post', '=', '1')->first();

 echo 'Post nya : '.$post->judul .'<br>';
 
 # Tampilkan seluruh tag post tersebut
 foreach ($post->tag as $data) 
 echo '<li>' . $data->tag . '</li>';
 });

Route::get('relasi-5', function() {

 # Temukan tag laravel
 $tag = Tag::where('tag', '=', 'laravel')->first();
 echo 'Tag nya : '.$tag->tag .'<br>';
 
 # Tampilkan semua posting dengan tag laravel
 foreach ($tag->post as $data)
 echo '<li> Judul : ' . $data->judul . ' <strong>' . $data->content . '</strong></li>';

 });
- OUTPUT
Relasi 4

Relasi 5

 Selesai sudah pembahasan tentang 3 Relasi di atas , sebenarnya masih ada jenis relasi lain tapi mungkin lain waktu akan di posting tutorialnya..

Sumber : Ilmuwebsiteku.com Relasi dengan database Eloquent

Cara Penggunaan Database di Laravel

Di dalam Laravel terdapat 3 cara untuk berinteraksi dengan database yaitu :
  • Raw Query
  • Query Builder (Fluent Query)
  • Eloquent ORM
Metode - metode tersebut di ibaratkan seperti tingkat bahasa pemrograman dimana semakin kebawah semakin dimengerti oleh manusia namun semakin rumit dimengerti oleh komputer.
Kita langsung saja sebelumnya persiapkan dulu database dan tabel nya dalam contoh tutorial ini menggunakan nama tabel mahasiswa seperti dibawah ini :

 Kalo anda males bikin tabel dan isinya kaya gini copas aja script Sql di bawah ini :
 CREATE TABLE IF NOT EXISTS `mahasiswa` (
 `nim` int(11) NOT NULL,
 `nama` varchar(100) NOT NULL,
 `alamat` text NOT NULL,
 `semester` int(11) NOT NULL,
 `status` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `mahasiswa`
--

INSERT INTO `mahasiswa` (`nim`, `nama`, `alamat`, `semester`, `status`) VALUES
(1006017, 'Udin Hermawan', 'Jl.Cimanuk no 129 Bekasi', 2, 1),
(1007013, 'Asep Saepudin', 'Jl.papandayan kec Tarogong Jakarta ', 2, 1),
(1005013, 'Indah Purnama', 'Jl. serba galau Kec. Gelisah Kab. Mandalagiri', 8, 1);
database dan tabel sudah siap ? sekarang kita configurasi koneksi database nya buka file app/config/database  pada folder project laravel anda.
pada Laravel 4 mendukung 4 sistem database yaitu sqlite, mysql, psgsql dan sqlsrv anda tinggal sesuaikan dengan sistem database anda. Namun saya rasa anda menggunakan mySql. sesuaikan host, nama database , username dan password nya. seperti contoh dibawah ini :
 'driver' => 'mysql',
 'host' => 'localhost',
 'database' => 'namadatabase',
 'username' => 'usernamenya',
 'password' => 'passwordnya',
 'charset' => 'utf8',
 'collation' => 'utf8_unicode_ci',
 'prefix' => '',
sudah terkoneksi ? sekarang saatnya !!

Raw Query

Metode raw query ini mirip atau memang sama dengan query sql biasa , jadi mungkin anda sudah biasa menggunakannya.Namun disini kita harus menggunakan class DB  dan di ikuti statement seperti insert, update, delete  lihat contoh dibawah ini :
 //SELECT
$mahasiswa = DB::select('select * from mahasiswa');

foreach($mahasiswa as $dt){
 echo $dt->nama;
}

//SELECT dengan Parameter
$results = DB::select('select * from mahasiswa where nim = ?', array(1006017));
foreach($mahasiswa as $dt){
 echo $dt->nama;
}

//INSERT
DB::insert('insert into mahasiswa (nim, nama, alamat, semester) values (?, ?, ?, ?)', array(1001728, 'Udin', 'Bandung Cicaheum','4'));

//UPDATE
DB::update('update users set nama = Agus Mauladig where nim = ?', array('1006017'));

//DELETE
DB::delete('delete from mahasiswa');

DB::delete('delete from mahasiswa where nim = ? ',array('1006017'));

//GENERAL STATEMENT
DB::statement('drop table mahasiswa');

Query Builder / Fluent Query

Dengan query builder code query lebih nyaman dibaca dan lebih mudah karena kita tidak dikhawatirkan dengan perbedaan penulisan native query yang mungkin ada perbedaan antara sistem database satu dengan yang lain.
 //SELECT
$mahasiswa = DB::table('mahasiswa')->get();

foreach ($mahasiswa as $dt)
{
 echo $dt->nama;
}

//SELECT DENGAN PARAMETER
$mahasiswa = DB::table('mahasiswa')->where('semester','3')->get();

foreach ($mahasiswa as $dt)
{
 echo $dt->nama;
}

//MENAMPILKAN SATU BARIS
$mahasiswa = DB::table('mahasiswa')->where('semester','3')->first();

echo $mahasiswa->nama;

//SELECT KOLOM TERTENTU
$mahasiswa = DB::table('mahasiswa')->select('min', 'nama')->where('id', 1006017)->first();

foreach ($mahasiswa as $dt)
{
 echo $dt->nim;
 echo $dt->nama;
}

//SELECT SATU KOLOM
$mahasiswa = DB::table('mahasiswa')->orderBy('semester', 'desc')->pluck('nama');
foreach ($mahasiswa as $dt)
{
 echo 'namanya adalah :'.$dt->nama;
}

//MENAMBAHKAN STATEMENT BERDASARKAN VARIABEL
$nama = DB::table('mahasiswa')->select('nama');
$query = $query->addSelect('semester')->get();

//BANYAK STATEMENT
$query = DB::table('mahasiswa')
 ->where('semester', '>', 1)
 ->orWhere('nim', '1006017')
 ->orderBy('nama', 'asc')
 ->get();

//MEMBATASI (Offset & Limit)
$users = DB::table('mahasiswa')->skip(2)->take(5)->get();

Eloquent ORM

Eloquent adalah Sebuah ORM (Object Relational Mapping) yang dibundling bersama Laravel Framework. ORM ini sangat sederhana menurut saya tapi justru disitulah nilai lebih dari ORM ini.Setiap model eloquent yang kita buat akan bertanggung jawab atas satu tabel dalam database. Misalnya kita telah mempunyai tabel mahasiswa , kita harus membuat model baru yang bertanggung jawab atas tabel mahasiswa. Sebagai contoh buat file Mahasiswa.php di app/models definisikan dulu model nya seperti ini
 class Mahasiswa extends Eloquent {

 protected $table = 'mahasiswa'; //nama tabelnya
 protected $primaryKey = 'nim'; //Primary Key nya

}
hal yang harus di perhatikan diatas dalam eloquent kita harus mengextends Eloquent dan menambahkan nama tabel.
Setelah itu kita bisa melakukan berbagai macam query dengan memanggil nama Class di model nya diikuti dengan function seperti contoh dibawah ini :
Fungsi Menampilkan
 //MENAMPILKAN SEMUA
$mahasiswa = Mahasiswa::all();

//MENAMPILKAN BERDASAR ID
$mahasiswa = Mahasiswa::find(1006017);

//PARAMETER WHERE
$mahasiswa = Mahasiswa::where('semester','4')->get();

//WHERE DENGAN AGGREGAT
$mahasiswa = Mahasiswa::where('semester','>','2')->get();
Insert, Update , Delete
Untuk menambahkan objek baru caranya seperti ini
$mahasiswa = New Mahasiswa;
$mahasiswa->nim = '1007012';
$mahasiswa->nama = 'Arief Budiman';
$mahasiswa->alamat = 'Garut Kota Intan';
$mahasiswa->semester = 4;
$mahasiswa->save();
Mengupdate objek pada baris/row tertentu berdasarkan
$mahasiswa = Mahasiswa::find(1006017);
$mahasiswa->nama = 'Arief Budiman';
$mahasiswa->alamat = 'Garut Kota Intan';
$mahasiswa->semester = 4;
$mahasiswa->save();
Menghapus baris pada tabel
 //DELETE SATU BARUS
$mahasiswa = Mahasiswa::find(1006017);
$mahasiswa->delete();
//DELETE BANYAK BARIS
$mahasiswa = Mahasiswa::where('semester','3')->delete();

KESIMPULAN
Dari 3 metode diatas yang paling direkomendasikan yaitu metode Eloquent ORM karena lebih mudah, fleksibel dan terorganisir.namun dalam beberapa kasus Eloquent gagal dalam menangani SQL Query yang rumit. JIka itu terjadi anda gabungkan saja dengan metode yang lainya. Kalau saya selalu menggunakan Eloquent ORM.

Sumber : Ilmuwebsiteku Interaksi dengan Database pada Laravel

Tentang routing di Laravel

Routing adalah proses dimana suatu item dapat sampai ke tujuan .Di dalam laravel fungsi routing yaitu menangani request kemudian mengarahkan aplikasi untuk memanggil halaman/resource tertentu yang biasanya dalam bentuk URL
contoh jika anda memanggil URL  Http://localhost/admin  maka kita dapat menentukan sendiri apa yang akan muncul atau di jalankan pada saat memanggil URL tersebut . bisa berupa tulisan, halaman controller, halaman view , menghandle database ataupun halaman error.  Route dapat menghandle semua perintah yang telah dideklarasikan oleh kita.
Route pada laravel terdapat di  app/routes.php

Route menggunakan method GET .

 Route::get('/', function() { return 'Hello World'; });
Seperti yang anda lihat, terdapat ‘/’ (slash) yang menandakan route tersebut menangani halaman utama dari aplikasi anda (halaman root). Selain itu route di atas mengembalikan sebuah tulisan 'Hello World' return 'Hello World' anda juga bisa mengembalikan sebuah sebuah view seperti contoh dibawah ini :
Route::get('/', function()
{
 return View::make('hello');
});
Route diatas mengembalikan sebuah view dengan nama file app/views/hello.php.

Route menggunakan method POST

Selain method get, pada Laravel juga terdapat method post untuk menangani route. Method post, biasanya digunakan untuk mengarahkan form ketika di submit. Perhatikan contoh berikut:
Route::post('mahasiswa/simpan', function()
{
 return Mahasiswa::create(Input::all());
});

Route dengan beberapa method

Anda juga dapat menggunakan beberapa method yang dipakai dalam route , misalnya route dengan method GET dan POST.
Route::match(array('GET', 'POST'), '/', function()
{
 return Route hanya di akses dengan method GET dan POST';
});

Route menggunakan method any

Dengan method any anda dapat memanggil / menjalankan route dengan berbagai method misalnya GET dan POST.
Route::any('bebas', function()
{
 return Route dijalankan dengan semua method';
});

Route menggunakan method HTTPS

Jika anda menginginkan supaya request ditangani melalui Https, anda bisa menggunakan array pada saat melewatkan closure pada argument.
Route::get('product', array('https', function()
{
 return 'Route menggunakan HTTPS';
}));

Menggunakan parameter pada Route

Terkadang parameter pada URL sangat penting, misalnya kita memanggil URL  Http://localhost/produk/mobil maka yang tampil dalam view adalah list data mobil.
Route::get('product/{id}', function($id)
{
 return Product::find($id);
});
Pada contoh di atas parameter kedua wajib di isi , anda tidak bisa mengakses dengan  product namun harus lengkap misalnya  product/1 , supaya parameter tersebut sifatnya tidak wajib / sunah anda harus menambahkan '?' dan default value pada parameter tersebut. seperti contoh dibawah ini :
Route::get('product/{id?}', function($id = NULL)
{
 if($id)
 {
 return Product::find($id);
 }
 return Product::all();
});;

Mengarahkan Route ke Controller

Dalam mengarahkan route ke controller , jadi script untuk menangani route tersebut disimpan pada functon di controller.
 Route::get('product/{id}', 'ProductController@detail');
pada contoh di atas ketika memanggil URL product/1 maka akan ditangani oleh ProductController dengan function detail.
Untuk lebih lengkapnya mengenai Routing Laravel , juga bisa melihatnya langsung pada dokumentasi routing laravel 4.

Sumber : Ilmuwebsiteku Instalasi Laravel

Cara Install Laravel

Laravel adalah salah satu framework PHP yang handal. meskipun masih terbilang muda namun framework ini sangat populer di kalangan programer web. Beberapa kelebihan dari framework ini adalah kita dapat memanajemen routing,autentikasi, sesi dan chaching.
Kebutuhan Server
Laravel memiliki persyaratan system sebagai berikut :
  • PHP >= 5.4
  • MCrypt PHP Extension
Saya sarankan anda menginstal Xammp versi terbaru yang support apache dan MySql.
Instalasi Laravel
Sebelumnya kita harus menginstall composer silahkan download di website resmi nya. Download Composer
Composer adalah package management tool untuk PHP. Jadi kita akan lebih mudah dalam install ataupun uninstall library atau package yang dibutuhkan.

Cara Ke 1 : Instalasi Laravel Via Laravel Installer

 Pertama download laravel instaler menggunakan command
composer global require "laravel/installer=~1.1"
setelah selesai , di dalam command anda harus masuk ke direktori laravel installer , jika di windows lokasinya di User \ Nama user \ AppData \ Roaming \ Composer \ vendor \ bin . Gunakan saja perintah
CD AppData / Roaming / Composer / vendor / bin
jika sudah pada direktori tersebut anda tinggal menggunakan perintah untuk membuat project baru
 laravel new namaproject
Jika berhasil muncul pesan seperti ini

folder project terletak di lokasi kita menginstalnya..
catatan : folder direktori diatas secara default di hidden , anda harus mengaktifkan show hidden dulu.

Cara Ke 2 : Instalasi Laravel Via Composer create-project

Cara ini lebih mudah dan direkomendasikan karena dengan composer create-project laravel kita akan selalu update.
pertama buka cmd dan arahkan ke direktori dimana kita akan menyimpan
contoh :

Lalu ketikan perintah dibawah ini:
composer create-project laravel/laravel projectlaravel --prefer-dist
catatan : project laravel adalah nama project kita atau nama project yang di inginkan, bisa diganti dengan nama lain, ingat jangan menggunakan karakter aneh dan spasi.
Jika sudah ada keterangan set successfully, itu tandanya install framework laravel sudah berhasil. cek didirektori anda menginstalnya.

Cara Ke 3 : Instalasi Laravel tanpa Composer

Ini adalah cara yang paling mudah kita tinggal copy atau download framework laravel, namun cara ini tidak dianjurkan karena kemungkinan file tidak update. Untuk file project laravelnya bisa didownload di https://github.com/laravel/laravel

Sumber : Ilmuwebsiteku.com Instalasi Laravel