Php7.1, anda akan disiplin menggunakan Type Variable!

jika PHP kita kenal sangat ramah dalam aturan penggunaan type data, maka anda mungkin akan sedikit merasa berbeda pada PHP7.1. ini juga terjadi pada salah satu code saya.

penjumlahan atau aritmatika lainnya, sangat beresiko terjadi kesalahan. untuk versi < PHP7.1, variable non number akan dianggap 0. namun berbeda pada PHP7.1, penjumlahan variable non number akan menghasilkan error. progress yang sangat waw sekali!

bayangkan saja, banyak sekali programmer PHP yang tidak disiplin untuk mengecek isi dari variable-nya ditambah lagi PHP bertipe varian(dalam sudut pandang penggunaan). Semua variable seakan dianggap sama. Yang membedakan adalah value-nya. Alhasil, ketika code-code ini diproduksi, maka sangat rentan menjadi error. Sebagai contoh, DomPDF. Library yang sangat banyak penggunanya inipun kena imbasnya. betapa mereka tidak disiplinnya mengecek value(karena memang hanya value-nya saja yg membedakan mana yang number mana yang bukan). Daaaan…, akhirnya malam saya menjadi malam yang panjang. 😀 LOL!

Solusi untuk yang bertemu dengan error “Non Number Encountered” di PHP adalah dengan 2 pilihan:

  1. ignore error dengan @. (unrecomended)
  2. lakukan casting! (pastikan variable adalah int atau float atau lainnya)
  3. tentukan sejak awal tipe datanya(recomended). 🙂 seperti programmer2 bahasa lainnya. (like C/C++ and Java) 😀
  4. untuk error yg diproduksi oleh Dompdf, update ke versi ^0.8.0! (begitupun pada library lainnya, coba cek repositorynya, apa sudah support php7.1)/

Alternatif menampilkan gambar di Qt5(tidak blur)

Akhir-akhir ini rupanya penggunaan QLabel dan QPixmap tidak bagus di Qt, gambar yg ditampilkan jadi blur. Sudah ada laporan bug sejak 5.3, kalau tidak salah baca. Dan sampai saat ini, tanggal 06 bulan mei 2017(Qt 5.8) bug ini rupanya belum fix.

sebagai alternatif, saya menggunakan QWidget dengan trik pengaturan CSS. caranya dengan meletakkan QWidget pada form, lalu setting stylesheet-nya. 🙂

border-image: url(:/logo.png) 0 0 0 0 stretch stretch;