Skip to main content

Memulai Laravel dengan cepat

Saya sering menggunakan Laravel untuk tugas kantor maupun project pribadi, hanya saja Laravel bukan satu-satunya tools yang saya gunakan dalam bekerja. Adakalanya saya menggunakan Symfony, CakePHP, Spring, NodeJS. Artikel ini saya buat sebagai catatan saya untuk memulai kembali menggunakan Laravel bila saya kelamaan menggunakan bahasa pemrograman lain selain PHP atau masih PHP tapi menggunakan framework lainnya.


Basic Installation

Environment

Berikut ini adalah konfigurasi local environment saya dalam bentuk  Dockerfile https://github.com/yoesoff/environtment

Instalasi

composer create-project --prefer-dist laravel/laravel:5.5 larablog
Atau clone dari repository saya lengkap dengan segala penyesuaiannya.

composer create-project --prefer-dist laravel/laravel:5.5 larablog  (logs)


Setup Folder Permission

chmod +x artisan
chown -R www-data storage/
Set permission


Verifikasi Hasil Instalasi dan Cek Versi Laravel

./artisan --version
./artisan --version

Jalankan Built-In Web Server (Development Server)


./artisan serve
Karena dev env saya berjalan diatas Docker maka saya harus men-set parameter tambahan dalam menjalankan dev server.

./artisan serve --host=0.0.0.0 --port=8282
http://localhost:8282/

Hello World

Cara mudah dengan menggunakan anonimous function di route seperti berikut ini:

Route::get('greeting/{name}', function($name) {
    return "Hallow $name";
});
Untuk proses yang lebih komplek dan lengkap ikuti proses step by step dibawah ini.

Hello World Step 1 - Buat Sebuah Controller 

./artisan make:controller HelloController
Create a Controller
app/Http/Controllers/HelloController.php hasil generate sebelumnya
Edit HelloController.php dengan memberi method greeting($name).

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\User;

class HelloController extends Controller
{
    public function greeting($name)
    {
        return view('greeting', compact(['name']) );
    }
}
Untuk memahami lebih jauh tentang apa itu controller dan resource controller silahkan baca disini.

Hello World Step 2 - Buat Sebuah Route

Bila sebelumnya kita tidak menggunakan Controller maka kali ini kita akan menggunakannya.
Buat route di file  resources/views/greeting.blade.php
 Route::get('greeting/{name}', 'HelloController@greeting'); 
Route

Hello World Step 3 - Buat Sebuah View 

Buat View resources/views/greeting.blade.php.
Hallo {{$name}}

Hello World Step 4 - Penampakan Hasil di Browser 

Penampakan hasilnya di browser.


Mengenal Middleware

Middleware menyediakan mekanisme yang mudah untuk mem-filter berbagai HTTP request yang datang memasuki aplikasi Anda. Misalnya, Laravel menyertakan middleware yang memverifikasi apakah pengguna aplikasi Anda telah diautentikasi atau belum. Jika pengguna belum diautentikasi, middleware akan mengarahkan pengguna ke halaman login. Namun, jika pengguna sudah berhasil diautentikasi sebelumnya, maka middleware akan menerima permintaan untuk melanjutkan pengguna untuk masuk lebih jauh ke dalam aplikasi.

Middleware tambahan dapat ditambahkan untuk melakukan berbagai tugas selain otentikasi. Misal middleware CORS  berfungsi untuk menambahkan tajuk yang tepat untuk semua response yang meninggalkan aplikasi Anda. Dan middleware logging mungkin mencatat semua permintaan yang masuk ke aplikasi Anda.

Ada beberapa middleware bawaan yang telah ada dalam Laravel, termasuk middleware untuk otentikasi dan perlindungan CSRF. Semua middleware ini berada di direktori app/Http/Middleware.

Buat Contoh Middleware

php artisan make:middleware CheckAge
Sample Middleware

Macam-macam cara mengimplementasi Laravel Middleware.


Middleware di Route Tertentu

File route untuk web terletak disini routes/web.php
Route::get('greeting/{name}', 'HelloController@greeting')
->middleware('check_name');
Registrasikan dulu middleware di  app/Http/Kernel.php.
protected $routeMiddleware = [
    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'check_name' => \App\Http\Middleware\CheckName::class
];

Middleware Untuk Semua Route

File route untuk web terletak disini routes/web.php, hapus middleware dari route greeting.
Route::get('greeting/{name}', 'HelloController@greeting');
Registrasikan dulu middleware di secara GLOBAL di app/Http/Kernel.php.
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\TrustProxies::class,
    \App\Http\Middleware\CheckName::class
];


Middleware Group

Untuk ini untuk membuat grup dari sekumpulan midlewares, cek disini untuk penjelasan detailnya.


Menambahkan Middleware Langsung di Controller

Untuk middleware dicontroller ini coba lihat contoh ini.

Topik-topik Terkait middleware Lainnya

  1. Sorting sekumpulan middleware link.
  2. Middleware parameters link.
  3. Terminable parameter link.

Pembahasan Intensif Tentang Middleware



Bekerja Dengan Database #TODO

Koneksi ke Database #TODO

Membuat dan Menghapus Database #TODO

Bekerja dengan Database Migration #TODO

Mengenal Eloquent ORM #TODO

Membuat CRUD sederhana #TODO

Membuat Form #TODO


composer require "laravelcollective/html":"^5.5"
Install


Membuat Relasi Table #TODO

Membuat Validation #TODO

Mengenal Collection #TODO

Mengenal Events dan Observers #TODO


Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....