Badr Interactive Engineering
Berbagi pengalaman untuk menciptakan software yang lebih baik

Simple Access Restriction using Laravel Middleware

Dalam framework Laravel, Middleware adalah salah satu fitur yang banyak gunanya. Secara konsep, middleware adalah sebuah layer dalam setiap http request dari klien, bisa sebelum atau sesudah Controller dijalankan. Jadi kira-kira gambarannya seperti ini: request > before-middleware > controller > after-middleware > response. Penggunaan paling umum biasanya digunakan untuk access restriction alias pembatasan akses untuk sebuah resource/route, bisa role-based ataupun pengecekan lainnya.

Ada sedikit perbedaan middleware di Laravel 5 dan 5.1, yaitu kemampuan middleware untuk menerima paramater1. Di laravel 5, middleware tidak bisa menerima argumen tambahan yang kita definisikan sendiri. Jadi akan sedikit ribet kalau misal kita mau bikin role-based restriction, karena kita harus bikin middleware untuk setiap role yang ada. Nah tentu akan lebih fleksibel kalau kita bisa mengirim argumen tambahan, so kita pakenya yang 5.1 ke atas aja ya! :D

... [read more]

Membuat Floating Sidebar dengan CSS & Javascript

Pernah melihat web sidebar yang mengambang alias floating? Contohnya bisa lihat di sini.

Jadi ketika halaman baru dibuka, sidebar-nya seperti biasa akan ikut bergulir (scroll) bersama halaman. Nah ketika sidebar sudah mencapai batas atas tampilan, magically posisi sidebar-nya akan menjadi tetap dan tidak ikut bergulir lagi mengikuti halaman webnya. Kira-kira gambarannya akan jadi seperti gambar di bawah ini:

floating-1

Pertama kali dibuka, sidebar di kiri tampil seperti biasa.

floating-2

Saat discroll ke bawah, sidebar di kiri akan floating di tempatnya seperti pada gambar.

Apakah itu semacam sihir atau jutsu? Mari kita pelajari! :D

... [read more]

Deployment Aplikasi Laravel Menggunakan Git (Linux)

Git merupakan salah satu tools yang digunakan sebagai source code version control system (vcs) dengan tujuan untuk menyimpan riwayat perubahan pada source code yang kita buat. Selain digunakan untuk menyimpan riwayat perubahan, ternyata git juga dapat digunakan untuk mempermudah proses deployment aplikasi web berbasis Laravel yang kita buat.

Git Hooks

Git Hooks adalah kumpulan script yang secara otomatis akan dieksekusi pada saat terjadi event tertentu. Berdasarkan dokumentasi resmi pada website git-scm.com, terdapat dua jenis hooks yang disediakan oleh git yaitu client hooks dan server hooks. Client hooks adalah hooks yang ditrigger di local computer, sedangkan Server hooks merupakan hooks yang ditrigger di remote server.

... [read more]

Migrasi Database Laravel di Shared Hosting

Salah satu fitur yang sering digunakan di dalam Laravel adalah Database Migration1. Simply say, fitur ini adalah seperti version control untuk database. Hal ini sangat bermanfaat salah satunya saat suatu aplikasi dikerjakan oleh banyak orang. Jika ada satu orang melakukan perubahan, maka developer lain dapat dengan mudah melakukan perubahan yang sama secara otomatis.

Saat masa development, kita biasanya menggunakan komputer sendiri sebagai database server (localhost). Namun, ada kalanya kita diminta untuk mendeploy saat masa development agar bisa dites oleh klien. Jika hal ini terjadi secara berkala (misal tiap selesai sprint), bakal repot banget untuk me-redeploy struktur database jika tidak menggunakan migration.

Nah, di sini akan coba dijelaskan salah satu cara mudah untuk melakukan database migration yang dimiliki Laravel pada shared hosting yang umumnya digunakan oleh klien.

... [read more]

Hal yang Wajib Diketahui Terkait Penggunaan Eloquent di Laravel

Introduction

Eloquent merupakan Object Relational Mapping (ORM) engine yang digunakan oleh Laravel. Sedangkan ORM itu sendiri merupakan sebuah teknik dalam pemrograman object-oriented yang ditujukan untuk mengkonversi type sistem dari database kedalam type sistem yang dimiliki oleh bahasa pemrograman berorientasi object tersebut (misal: Java, .Net, PHP) sehingga seolah-olah kita memiliki virtual database di dalam aplikasi kita1. Berikut ini adalah merupakan kasus-kasus yang perlu kamu ketahui terkait penggunaan Eloquent di laravel.

Selalu Manfaatkan Dependency Injection Laravel

Kebanyakan para pengguna laravel selalu menggunakan fitur Facade yang disediakan laravel. Facade adalah sebuah teknik dalam pemrograman berorientasi objek yang digunakan untuk membungkus detail implementasi / API pada sebuah library untuk menyederhanakan penggunaan dari library tersebut. Contoh dari penggunaan Facade pada objek Eloquent adalah sebagai berikut:

public function detail(Request $request, $id)
{
    $product = Product::find($id); //Facade
    return response()->view('product.detail', ['product' => $product]);
}
... [read more]