28 Apr 2016
Sebagai pengguna framework Laravel, tentunya kita sangat mengenal Blade Template Engine. Salah satu keuntungan yang kita dapatkan dalam menggunakan Blade dibandingkan hanya penggunakan plain PHP adalah kita dapat menggunakan Blade Directive
seperti misalnya @section
, @if
, @foreach
, @inject
dan banyak directive lainnya untuk menggantikan kode PHP yang akan kita masukan kedalam halaman view
yang kita buat sehingga membuat kode program kita menjadi lebih rapih dan nyaman dilihat.
Dalam artikel ini saya akan membahas tentang bagaimana membuat Blade Directive
baru sesuai dengan kebutuhan kita seperti misalnya @checkuser
, @isadmin
atau @dateformat
. Untuk dapat mendefinisikan Blade Directive
baru kita dapat menggunakan fitur Blade::directive()
yang telah disediakan oleh Laravel. Sebagai contoh, kita ingin membuat sebauh directive bernama @datetime
yang secara otomatis akan mengkonversikan forma tanggal database YYYY-mm-dd
menjadi format mudah dibaca oleh user seperti dd/mm/YYYY
. Untuk dapat melakukan hal tersebut kita perlu menambahkan beberapa baris kode pada class App\Providers\AppServiceProvider
seperti berikut ini:
... [read more]
21 Apr 2016
CocoaPods adalah salah satu dependency manager di platform iOS, counterpart dari Gradle yang merupakan dependency manager Android. Di dalam repository official CocoaPods ada banyak library yang bisa dimanfaatkan untuk mempercepat development aplikasi.
Installasi CocoaPods di MacBook
Jalankan perintah ini di terminal
untuk melakukan installasi CocoaPods di MacBook:
sudo gem install cocoapods
Penggunaan CocoaPods dalam Project
Untuk dapat menggunakan CocoaPods sebagai dependency manager lakukan langkah-langkah berikut ini:
- Create New Project iOS -
AwesomeApp
.
- Buka direktori tempat project tersebut berada di
terminal
.
-
Jalankan perintah berikut di direktori tersebut:
... [read more]
08 Apr 2016
Tercerahkan oleh Database Versioning, setelah sekian lama import-export SQL dan kirim lewat e-mail, google drive, dan sejenisnya?
Selamat datang di fitur migrasi. Mungkin pada awal saya memakai migrasi, sempet terpikir juga: buat apa ya struktur database dibuat kodenya?
Toh bisa kan buat lewat phpMyAdmin atau sejenisnya, lebih cepet pake GUI lagi.
Walau belakangan tobat sih, karena pakai migrasi kegunaannya banyak.
Pertama kali pakai migrasi, cukup frustasi juga karena kadang apa yang kita kira mudah,
ternyata lumayan ada rintangannya juga. Dalam surat ini saya bermaksud mengurangi
frustasi teman-teman sekalian. Iya apa semua siap? *gaya disko
1. Dropping Foreign Key
Biasanya aktivitas ini akan dilakukan ketika mengisi fungsi down() dari sebuah class migrasi.
<?php
class UpdateAssignment extends Migration {
public function up() {
Schema::table('assignment_file', function(Blueprint $table) {
$table->foreign('assignment_id')->references('id')->on('assignment')->onUpdate('CASCADE')->onDelete('CASCADE');
});
}
public function down() {
Schema::table('assignment_file', function(Blueprint $table) {
$table->dropForeign('assignment_id');
});
}
}
?>
... [read more]
31 Mar 2016
Introduction
Kalau di forum sebelah Kang Aher sudah membahas tentang hal yang harus diketahui dari eloquent, nah di sini saya mau sedikit share tentang common mistakes dalam pemakaian eloquent based on pengalaman saya sendiri. Let’s check it out
1) Selalu memerika object kosong setelah melakukan find()
Kalian pasti sudah tidak asing lagi dengan method find()
nya eloquent. Perlu diketahui bahwa method find ini jika tidak menemukan object yang diinginkan maka akan return null. Sehingga, kita perlu untuk mengecek hasil returnnya sebelum memanggil attribute atau function dari object tersebut.
Contoh salah :
echo User::find($user_id)->name // // will cause error if user is not found
echo Auth::user()->id; // will cause error if user is not login
$user = User::find($user_id);
$user->getFirstName(); // will cause error if user is not found
... [read more]
31 Mar 2016
Dalam sebuah aplikasi web, biasanya yang bertipe web admin, umum kita jumpai sidebar berisi menu-menu.
Daftar menu tersebut biasanya memiliki state active
atau biasa alias tidak aktif, menunjukkan si user
sedang berada di halaman apa. Berbagai template web admin biasanya sudah mempunyai styling sendiri seperti
contoh di bawah ini:

Di atas adalah template favorit anak Badr, yaitu SB-Admin dan AdminLTE, sebagai contoh
styling active menu. Biasanya, style tersebut didapat dengan menambahkan CSS class .active
pada elemen
menu item atau butir navigasi. Secara back-end, kita harus memastikan ketika view tersebut mau dilukis alias render,
mana menu item yang harus diberi class .active
.
Di Laravel, biasanya kita mengirim data atau variabel yang dibutuhkan View dari fungsi yang ada di
Controller. Masalahnya, data menu yang aktif itu kita butuhkan untuk setiap halaman yang diminta.
Solusi naifnya, ya kita mesti ngirim paramater seperti active_menu => 'dashboard'
pada setiap fungsi yang ada.
Nah, ada beberapa cara lain yang lebih cerdas untuk ini, salah satunya dengan View Composer.
... [read more]