Membaca dan Menulis Google Sheets di PHP

Dulu pernah mengerjakan manajemen resources survey yang membutuhkan dashboard. Beberapa kawan yang terlibat dalam project itu sudah terlalu akrab dengan excel sehingga merasa tidak praktis dengan form-form yang disediakan. Lebih enak menaruh dan memanage data menggunakan Google Sheet.

Namun karena tidak mudah dan fleksibel membuat report dengan Google Sheet, akhirnya data di Google Sheet saya tarik / sinkronisasi dengan PHP ke database.

Mungkin nanti perlu juga tambah data dari formulir ke Google Sheet. Sehingga Google Sheet akan menjadi database storage yang handal. Kelihatannya gak akan terjadi peristiwa server sempoyongan karena kebanyakan akses hehehe.

Artikel ini mungkin akan cukup membantumu untuk membuat aplikasi berbasis CRUD dengan PHP – Google Sheet. Selamat mencoba 🙂

Scrapping Text menggunakan DiDOM di PHP

Sebagai programmer tentu saja saya sering melakukan scrapping text pada dokumen, khususnya dokumen HTML. Iseng-iseng tadi saya melihat script scrapping yang dibuat menggunakan nodejs yang terlihat sangat efektif, yaitu dengan menelusuri DOM. Padahal, kalau di PHP biasanya saya menggunakan REGEX.

Menelusuri DOM tentu saja lebih mudah dan efektif serta lebih terhindar dari kesalahan-kesalahan yang diakibatkan oleh perubahan kecil pada text. Dengan menggunakan DOM asal path DOM nya tidak berubah maka segalanya akan aman.

Tanya sama OpenAI, saya ditunjukkan pada library PHP yang sederhana namun mempunyai kemampuan yang mantab. DiDOM dengan dokumentasi yang cukup lengkap.

DiDOM bisa mengambil langsung dari sumber dokumen menggunakan fungsi php file_get_contents() . Namun jika kamu ingin menambahkan beberapa parameter sehingga harus menggunakan CURL, maka bisa aja. Kamu ambil dokumen via CURL lalu hasilnya diumpankan ke DiDOM.

Contohnya seperti ini:

<?php
require 'vendor/autoload.php';

use DiDom\Document;

function fetchWithCurl($url) {
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; DiDom/1.0)',
    ]);
    $html = curl_exec($ch);
    curl_close($ch);
    return $html;
}

$html = fetchWithCurl('https://www.news.com/');
$document = new Document($html);

Okey, mungkin setelah ini saya akan menggunakan cara ini untuk scrapping data 🙂

WordPress Sqlite

Selama ini jika kita melakukan instalasi WordPress maka kita secara otomatis harus menggunakan MySQL / mariaDB sebagai databasenya. Namun sering saya membutuhkan solusi yang lebih simpel dan portabel. Menggunakan SQLite.

Banyak developer yang menginginkan WordPress memberikan alternatif database selain MySQL. Dan suara-suara ini juga dikemukakan di situs para developer WordPress.

Pada akhirnya, selama belum ada kejelasan opsi SQLite di WordPress akhirnya para developer membuat plugin yang dicangkokkan ke WordPress. Hanya, untuk instalasinya kamu harus melakukan instalasi plugin ini sebelum kamu melakukan instalasi wordpress. Nantinya blog akan portable, sehingga apabila kita ingin memindahnya tinggal copas saja. Tanpa konfigurasi apapun.

Saya sudah mencobanya dengan wordpress terbaru yaitu versi 6.7.1, dan  berjalan dengan baik.

Berikut panduan instalasinya : https://learnwithdaniel.com/2019/06/wordpress-with-sqlite/

Namun ada sedikit yang berbeda yaitu perintah

# 5. Move db.php to wp-content
cd wordpress
mv wp-content/plugins/sqlite-integration/db.php wp-content/
ls wp-content
    db.php  index.php  plugins  themes

karena db.php ternyata tidak ada, yang ada adalah db.test sehingga perintahnya akan menjadi

mv wp-content/plugins/sqlite-integration/db.test wp-content/db.php

Demikian, silahkan dicoba coba sendiri.