Langsung ke konten utama

Postingan

Mengatasi Autocomplete Tidak Bekerja di PHPStorm

PHPStorm merupakan IDE PHP terbaik saat ini dan digunakan oleh banyak orang termasuk saya. PHPStorm memiliki fitur autocomplete yang sangat baik, namun fitur ini tampaknya dapat mengalami error setelah mengganti pengaturan pada IDE itu sendiri. Beberapa hal yang mungkin dapat menghalangi fitur Auto-complete: Renaming nama project Data Index korup (misal mati lampu saat indexing) Untungnya, fitur ini bersifat per project, artinya project lain anda tidak akan terpengaruh. Untuk mengatasinya, diperlukan beberapa langkah: Tutup project. Buka File > Close Project. Di layar Welcome to PHPStorm, hapus project dari riwayat dengan menekan tombol [x] disamping nama project anda. Masuk ke folder project anda tadi, lalu hapus folder .idea Kembali ke layar PHPStorm, klik [Open] lalu buka project anda lagi. Setelah hal itu anda lakukan, IDE akan melakukan indexing ulang project anda dan fitur auto-complete akan berjalan kembali.

Nuxt & Sass

Kalau ingin menggunakan Nuxt dan Sass atau menggunakan library yang menggunakan Sass seperti Bootstrap Vue, kita dapat menambahkan file itu ke dalam project dengan menambahkannya dalam file nuxt.config.js pada bagian 'css'. Jika muncul pesan error seperti: "This relative module was not found". Pastikan untuk menambahkan modul node-sass dan sass-loader dengan menggunakan package manager npm atau yarn.

Nuxt: Mengatasi StyleLintError

Konteks : Saat pertama kali membuat project dengan Nuxt.js dan menjalankan server lokal untuk development terdapat error dengan pesan:  No rules found within configuration. Have you provided a "rules" property? Solusi : Buka file stylelint.config.js, tambahkan rules: {} di dalam modul.

PHPUnit: Persiapan Data Testing dan Pengembalian Data Setelah Testing

PHPUnit memiliki beberapa fitur yang sangat membantu untuk testing aplikasi. Salah satunya adalah metode setUp dan tearDown. Fitur setUp() digunakan untuk mempersiapkan segala hal yang dibutuhkan untuk keperluan testing, seperti seeding data, mempersiapkan folder, dan sebagainya. Fungsi ini dipanggil pada setiap test function yang ada dalam sebuah PHPUnit testing class. Begitu pula dengan tearDown(), mirip dengan setUp(), tearDown() dipanggil setelah testing berhasil dilakukan, baik dengan hasil sukses ataupun tidak. Fungsi ini berguna untuk mengembalikan data, menghapus file atau data yang dibuat saat testing. Berbeda dengan setUp(), semua kode untuk mengembalikan data setelah testing harus diletakkan sebelum "parent::tearDown()". Info lebih lanjut bisa dibaca di  https://phpunit.readthedocs.io/en/8.4/fixtures.html

Metode append, makeVisible, makeHidden dalam Pagination

Dalam Laravel, kita bisa menyematkan atau merubah atribut dalam model melalui metode append, makeVisible, dan makeHidden. Tapi masalahnya metode itu berfungsi dalam sebuah model. Untuk koleksi (collection) beberapa model, kita bisa melakukannya dengan metode each. Tapi bagaimana dengan sebuah objek Pagination? Pada objek Pagination, gunakan metode getCollection dan setCollection. Metode ini tidak ditampilkan dalam dokumentasi Pagination , tapi ada dalam class AbstractPagination . Contoh: $items = Item::paginate() $items->setCollection($items->getCollection()->each(function($item) { $item->append(['atribut_a', 'atribut_b']); })) Jadi kita tidak perlu khawatir tidak bisa merubah model-model dalam paginasi.

Troubleshooting: PHPStorm Tidak Dapat Terhubung Ke Database (MySQL)

PHPStorm memiliki fitur untuk dapat terhubung dengan berbagai macam tipe database, salah satunya MySQL. Tapi di beberapa versi terbaru, PHPStorm tidak dapat terhubung dengan database dan tidak memberikan pesan error berarti. Biasanya, ini karena sistem berada di zona waktu yang tidak standar, misal menggunakan WIB di wilayah indonesia. Untuk itu, kita perlu mengubah sebuah pengaturan sebelum terhubung. Pada dialog Data Sources and Drivers, setelah mengisi kolom host, username, password, dan nama database, masuk ke tab advance, dan cari pengaturan "timezone", isi nilainya dengan "Asia/Jakarta" atau "Asia/Makassar" atau "Asia/Jayapura" sesuai dengan lokasi anda berada saat ini.