Belajar PHP: Memilih menyimpan data sebagai Object daripada Array

Sebagai pengguna WordPress, saya tahu bahwa hampir semua data yang diolah oleh script-script WordPress diproses sebagai sebuah Object daripada sebuah Array. Kecepatan adalah salah satu hal yang dipertimbangkan dalam penggunaan metode ini. (Mengenai apa perbedaan, keuntungan-kelemahan Object dan Array silakan pelajari kembali konsep OOP). Pada WordPress, khususnya data yang berasal dari database diolah menggunakan class WP-DB yang dikembangkan dari ezSQL.

Tak perlu mencontek habis gaya WordPress, kita juga bisa menggunakan Object untuk menyimpan data dengan class yang sudah native didukung di PHP yaitu stdClass. Contohnya: Continue reading Belajar PHP: Memilih menyimpan data sebagai Object daripada Array

Belajar PHP: Mengetahui Unique Visitors Situs dari AWStats dg PHP

Menurut WikiPedia:

A unique visitor is a statistic describing a unit of traffic to a website, counting each visitor only once in the time frame of the report. This statistic is relevant to site publishers and advertisers as a measure of a site’s true audience size, equivalent to the term “Reach” used in other media.

artinya, Unique Visitor atau pengunjung khas adalah statistik yang menunjukkan trafik kunjungan sebuah website, dimana penghitungan dilakukan untuk tiap pengunjung pada satu kerangka waktu. Sedangkan AWStats sendiri merupakan salah satu software pencatat aktivitas situs / logging yang popular digunakan diberbagai mesin hosting web dewasa ini. Yang akan dibahas disini adalah bagaimana caranya mendapatkan statisktik pengunjung dari AWStats dengan PHP.

Source code

Pada dasarnya apa yang akan kita lakukan sangatlah sederhana. Skrip akan membuka url log awstats sebuah situs dengan username dan password tertentu. Halaman log tersebut akan dibuffer dan di pecah-pecah (parsing) kemudian ditampilkan ulang. Sourcecode berikut akan menampilkan jumlah unique visitors per bulan pada tahun ini dengan username, password dan URL yang sudah ditentukan terlebih dulu. Berikut sourcecodenya: Continue reading Belajar PHP: Mengetahui Unique Visitors Situs dari AWStats dg PHP

Belajar PHP: Menggunakan API Shortcode WordPress

WordPress sebagai sebuah platform blogging sudah sangat teruji kehandalannya dalam menangani lebih dari 19 juta blog di wordpress.com dan jutaan blog lainnya yang berbasis WordPress. Sebagai sebuah framework pemrograman, WordPress telah menjadi inspirasi beberapa program lainnya seperti BuddyPress, bbPress, Gravatar, dll. WordPress sendiri sebelum jauh berkembang seperti ini memang diilhami besar oleh sourcecode b2evolution yang kemudian diperas dan dirombak ulang menjadi framework dasar BackPress (http://backpress.org/).

Salah satu fitur unggulan dari platform blogging WordPress adalah kemampuan perluasan yang luar biasa dengan Plugin dan kemampuan handling dengan shortcode, filter, dll. Akan kita bahas tentang API Shortcode WordPress kali ini.

Source code API WordPress bisa anda dapatkan di masing-masing source code blog anda di folder /wp-includes/shortcodes.php. Untuk dapat digunakan diluar platform WordPress, tuju ke baris terakhir file shortcodes.php dan buang source add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop().

Untuk menambahkan shortcode baru dari sebuah fungsi, gunakan pola:
add_shortcode($tag_shortcode,$namafungsi_shortcode);

Fungsi yang diwakili shortcode harus ada (exists).

Selanjutnya siapkan satu buah file PHP, misalnya index.php dan coba serangkaian snippet berikut: Continue reading Belajar PHP: Menggunakan API Shortcode WordPress

Belajar PHP: Upload dokumen dan file ke Dropbox

Dropbox adalah solusi penyimpanan dokumen dan file online lintas perangkat dengan satu akun, sehingga pemilik akun dapat mengakses file-file diberbagai perangkat PC, notebook, netbook, iPad, mobile dll. Dropbox sendiri sudah menyediakan aplikasi-aplikasi bawaan khusus untuk perangkat yang akan digunakan.

Bagaimana jika kita ingin mencadangkan sebuah file/dokumen dalam server kita ke akun dropbox dengan aplikasi berbasis PHP? Caranya mudah, Dropbox telah menyediakan PHP DropboxUploader.

Untuk menggunakannya, contoh: Continue reading Belajar PHP: Upload dokumen dan file ke Dropbox

How to Create SEO Friendly URL’s Using Mod Rewrite and PHP

Let’s look at a example of a URL which does not attract much Search Engine Love.

http://www.yoursite.com/product.php?productid=2&categoryid=3. It is hard even for a human to tell what the product is by looking at this URL. With the trick we will use the final URL can look something like this http://www.yoursite.com/product/13/3/2-GB-MP3-player.html.

Now if someone looks at this link they can easily know that the product is a 2 GB MP3 player. Now if you want hire a professional SEO to do the changes it may cost you quite a lot, with a little bit of PHP knowledge and using some simple URL rewriting using Apache Mod Rewrite you can achieve this for free. Continue reading How to Create SEO Friendly URL’s Using Mod Rewrite and PHP

Zend Server 6.0.1 Dirilis!

Bagi anda pengguna Zend Framework dan Zend Server, Zend baru saja merilis Zend Server 6.0.1 pagi ini. Berikut kutipan beritanya:

Zend is pleased to announce the availability of Zend Server 6.0.1.

What’s new in this version?

-Zend Framework updated to 2.1.4
-Job Queue and Java Bridge are now available in Developer edition
-PHP SOAP security hotfix incorporated
-Many bug fixes and feature improvements
Zend Studio 10 users should check for updates from the Studio help menu in order to work with Zend Server 6.0.1.

Download Zend Server 6.0.1 now »

Happy PHPing,
Zend – The PHP Company

Selamat mencoba…

Belajar PHP: Fungsi Mengubah Array menjadi Object

Kembali bersama tutorial Belajar PHP, kali ini kita akan belajar mengkonversi sebuah array menjadi sebuah Object. Tentang teori apa itu array apa itu object, silakan kuliah lebih lanjut tentang pemrograman/arsitektur komputer. Secara mudah, dalam PHP, contoh array misalnya:

$a['content']

sedangkan object kita kenali misalnya:

$a->content

Bagaimana caranya mengubah sebuah array menjadi Object?
Untuk mengubah array menjadi object cukup lakukan dengan perintah:

$namaobject = (object) $namaarraysasaran;

atau lebih lengkap dengan snippet kecil berikut:

function array_to_object($array = array()) {
return (object) $array;
}

atau

function array_to_object($array = array()) {
    if (!empty($array)) {
        $data = false;
        foreach ($array as $akey => $aval) {
            $data -> {$akey} = $aval;
        }
        return $data;
    }
    return false;
}

Dua fungsi diatas menghasilkan object yang sama, hanya berbeda pada caranya. Selamat mencoba :cendol

Akhirnya Zend Optimizer+ Di-Opensource-Kan untuk PHP 5.5

Kabar gembira bagi kita pengguna bahasa pemrograman PHP datang dari Zend. Zend akhirnya memutuskan untuk mengopensourcekan teknologi akselerator miliknya, Zend Optimizer+ yang selama ini tersedia di Zend Server untuk seluruh komunitas pengguna PHP. Rencananya, langkah ini akan dilakukan pada rilis PHP 5.5 nanti.

Saya kutip dari H-Online:

Zend Optimizer+ is to be integrated into the currently-in-development PHP 5.5. The announcement was made by Zeev Suraski, CTO and co-founder of Zend Technologies. The opcode cache and code optimiser was recently open sourced; previously it was only available as part of the proprietary Zend Server. It improves the performance of the interpreter by optimising the bytecode generated from PHP source files. It also stores precompiled bytecode in shared memory instead of reloading and recompiling source code from the hard disk when needed.

When it was open sourced, Suraski hoped it would open the way for Zend Optimizer+ to be integrated into the core of PHP 5.5 and filed an RFC to propose that. This proposal has now been voted on and approved with an “overwhelming majority” of 66 out of 77 approving the integration in general and 44 out of 70 for integrating it into PHP 5.5 even if there will be a minor delay, estimated at one to two months, in the release of PHP 5.5 because of that integration.

The Zend Optimizer+ is not the only opcode cache on the market. For example, the Alternative PHP Cache (APC) enjoys a wide circulation and was due to be provided as a native part of PHP 6.0, but has stayed in beta for PHP 5.4 because of a number of memory and caching problems. According to the RFC, the Zend Optimizer+ should be able to handle 5 to 20 per cent more requests per second than APC and is also better at handling erroneous cache behaviour.

Siap menanti?

Belajar PHP: Mengetahui Keyword Search Engine dari AWStats dg PHP

Melanjutkan pembelajaran PHP, kali ini kita akan membahas bagaimana cara menampilkan keyword search engine yang masuk ke website kita yang direkam oleh AWStats. Skrip akan dibangun dengan PHP, dengan menggunakan username, password dan URL awstats milik sendiri.

Berikut sourcecodenya: Continue reading Belajar PHP: Mengetahui Keyword Search Engine dari AWStats dg PHP

Belajar PHP: Koneksi ke LDAP

LDAP (Lightweight Directory Access Protocol) adalah salah satu protokol direktori yang sampai saat ini masih bertahan dan populer digunakan di kelas menengah dan enterprise. Beberapa produk yang bisa anda pakai misalnya Microsoft Active Directory, Fedora Directory Access, Mandriva Directory Access, SUSE Linux Enterprise, OpenLDAP dan TurnkeyLinux LDAP.

Disini saya hanya akan membahas bagaimana cara koneksi ke protokol LDAP dari PHP. Beberapa hal yang harus anda perhatikan adalah:

1. pastikan extension php_ldap (php_ldap.dll untuk Windows dan php_ldap.so untuk Linux) sudah tersedia dan sudah di enable dalam file php.ini

2. pastikan anda punya server ldap yang aktif dan sudah terkonfigurasi dengan baik.

Berikut adalah contoh skrip koneksi ke LDAP dengan PHP: Continue reading Belajar PHP: Koneksi ke LDAP

Belajar PHP: Membuat parameter function PHP bergaya WordPress

Bagi yang pernah mengutak-atik “jeroan” fungsi-fungsi WordPress tentunya sudah mahfum bahwa tiap fungsi-fungsi tersebut (kebanyakan) mempunyai beberapa parameter yang biasanya ditulis dengan tag yang mudah dipahami seperti “&limit=20&category_id=2”.

Bagaimana kalau kita mencoba mengimplementasikannya pada function PHP yang kita buat sendiri. Berikut caranya:
1. Buat fungsi baru, sebutlah dia extract_var misalnya, dan script seperti berikut: Continue reading Belajar PHP: Membuat parameter function PHP bergaya WordPress

Backup/Restore Database MySQL dengan PHP Berkemampuan Multithreaded

Backup dan restore database MySQL adalah kegiatan rutin harian seorang administrator. Berbagai tool dan script mungkin digunakan dan dijalankan secara otomatis oleh cron setiap harinya. Semakin besar database yang dicadangkan, semakin lama waktu yang dibutuhkan. Kebanyakan tool backup hanya bekerja tunggal, belum bisa multithreading. Nah, bagaimana jika anda ingin melakukan backup dan restore MySQL sampai pada tataran tabel per tabel? sehingga hanya tabel-tabel transaksi penting yang akan dibackup harian? dan bisa berjalan multithread?

Solusinya ada di ASHDumper, sebuah script PHP buatan om Aziz Saleh Hussain (dari Amerika) yang baru saja memenangkan PHPClasses Inovation Award of The Month (bulan September 2012). ASHDumper sebagai tool backup akan membackup tabel per tabel MySQL dengan 1 thread (1 service) tiap tabelnya, sehingga proses lebih berjalan cepat karena multithreading. Untuk dapat menggunakan ASHDumper, PHP/MySQL anda harus memenuhi syarat berikut:
– proc_open enabled (lihat php.ini)
– akses ke mysql atau mysqldump
– direktori output yang writeable Continue reading Backup/Restore Database MySQL dengan PHP Berkemampuan Multithreaded

Belajar PHP: Konversi file PDF ke JPG dengan PHP + ImageMagick

Berikut adalah snippet kecil bagi anda yang ingin cepat mengkonversi file PDF ke file JPG dengan PHP dan ImageMagick. Pastikan PHP anda sudah memuat ekstensi imagemagick.dll atau imagemagick.so.

$pdf_file   = './pdf/demo.pdf';
$save_to    = './jpg/demo.jpg';     //make sure that apache has permissions to write in this folder! (common problem)

//execute ImageMagick command 'convert' and convert PDF to JPG with applied settings
exec('convert "'.$pdf_file.'" -colorspace RGB -resize 800 "'.$save_to.'"', $output, $return_var);


if($return_var == 0) {              //if exec successfuly converted pdf to jpg
    print "Conversion OK";
}
else print "Conversion failed.<br />".$output;

selamat mencoba.

Belajar PHP: Menghapus Tag HTML dari Microsoft Word

Jika anda termasuk yang menggunakan editor berbasis JQuery seperti TinyMCE, nicEdit dkk, anda tentu akan kesal jika hasil tulisan yang diharapkan menjadi rusak tidak karuan karena klien anda langsung mengcopy dan mempaste tulisan dari Microsoft Word.

Microsoft Word sejak versi 2007 menggunakan layout dokumen berbasis markup language, sehingga jika langsung ditaruh dalam editor, akan merusak tag HTML untuk tulisan itu. Berikut solusi yang anda bisa terapkan. Continue reading Belajar PHP: Menghapus Tag HTML dari Microsoft Word

Belajar PHP: Membuat Peta Folder (Map Directory)

Peta Folder atau Map Directory yang saya maksud adalah peta folder dan file yang ada pada suatu folder target, tersusun secara hierarkis dan dapat digunakan untuk keperluan lebih lanjut, seperti membangun interface treeview layaknya Windows Explorer.

Untuk membangun peta folder/map directory tersebut, saya menemukan fungsi menarik yang terpaketkan bersama CodeIgniter 2.0 (directory_helper.php). Berikut fungsinya: Continue reading Belajar PHP: Membuat Peta Folder (Map Directory)