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)/

install OCI8 di linux mint.

  1. download instant client dan SDK di sini: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
  2. extract instant client letakan semua file yang ada di folder hasil extract ke /opt/oci8lib. (sebenernya terserah mau diletakkan dimana).
  3. extract sdknya. buka folder hasil extrak. di sana ada folder sdk.
  4. copy file folder sdk(perhatikan, folder sdk, buka folder hasil extract) ke /opt/oci8lib. ini menyesuaikan dengan tahapan point 2. alias di copy ke folder library oci8 kita.
  5. buka terminal.
  6. lalu run command berikut:

    #menambah path
    echo ‘export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/oci8lib’ >> ~/.profile
    source ~/.profile
    #pindah ke tempat librarynya
    cd /opt/oci8lib
    echo /opt/oci8lib >> /etc/ld.so.conf
    ldconfig
    #buat link
    ln -s libclntsh.so.* libclntsh.so
    #install beberapa komponen
    sudo apt-get install php-pear
    sudo apt-get install php5-dev
    sudo apt-get install libaio-dev
    sudo apt-get install php-pear

    #install oci8-nya

    pecl install oci8-2.0.10

    #jika ditanyatanyain untuk nginput path, enter sajalah. 🙂

  7. testing.
    buat file phpinfo().

[Laravel5.2] mengatasi error “Session store not set on request”

setikit kaget ketika memulai project baru, nyoba bikin authentikasi ternyata ketemu error “Session store not set on request”. dan solusinya adalah, cukup dengan memindahkan route authentikasi ke route web midleware. jadi, kira2 semacam ini:
Route::group([‘middleware’ => [‘web’]], function () {

Route::get(‘login’, ‘Auth\AuthController@getLogin’);
Route::post(‘login’, ‘Auth\AuthController@postLogin’);
Route::get(‘logout’, ‘Auth\AuthController@getLogout’);
Route::get(‘register’, ‘Auth\AuthController@getRegister’);
Route::post(‘register’, ‘Auth\AuthController@postRegister’);
});

kesimpulannya, simpulkan sendiri. saya juga gak ngerti kenapa-kenapanya. belum paham betul dengan laravel.