Memilih Zend Framework Sebagai Web Framework

Wednesday, December 5th, 2007

Web Framework adalah framework (kerangka/kerja) yang digunakan untuk membuat aplikasi web. Penggunaan framework (kerangka kerja) ini ditujukan untuk memudahkan pekerjaan pemrogram dalam membuat aplikasi. Walaupun pada awalnya harus mempelajari bagaimana penggunaan dan mengikuti aturan dari framework (kerangka kerja) tersebut.

Untuk pembuatan aplikasi web, banyak tersedia framework yang bisa anda pilih sesuai dengan keinginan/kemampuan(?). Seperti Code Igniter yang menggunakan bahasa pemrograman PHP dan di milis - milis php banyak lowongan yang mewajibkan bisa menggunakan Framework ini, Rails menggunakan bahasa pemrograman Ruby dan lagi ngetop - ngetopnya, Django menggunakan bahasa pemrograman Python, Symfoni menggunakan bahasa pemrograman PHP dan digunakan Yahoo! untuk membangun Yahoo! Bookmarks, dan masih banyak lagi web framework lainnya. Untuk melihat daftar web framework yang ada dan masing - masing kelebihan dan kekurangannya bisa dilihat disini.

Dari sekian banyak framework yang tersedia, saya memilih Zend Framework. Walaupun saya baru 2 bulan terakhir menggunakan framework ini, karena sebelumnya mencoba membuat framework sendiri. Tapi karena waktu pengembangan yang minim, dan juga banyak bug :) maka saya putuskan untuk menggunakan framework yang sudah stabil.

Alasan memilih Zend Framework ini adalah karena saya lebih familiar dengan bahasa pemrograman PHP dan juga framework ini dikembangkan Zend secara resmi. Yang mana Zend adalah perusahaan yang membuat Zend Engine untuk PHP. Bagi anda yang mau mencoba Zend Framework ini dapat mengunduh kode sumbernya disini, file ini sudah disertai Zend Framework 1.0.1

Mengaktifkan Absolute URL di TinyMCE

Tuesday, July 3rd, 2007

Jika anda menggunakan TinyMCE sebagai WYSIWYG editor, secara default URL dari image yang anda masukkan (http://example.com/main/image/example.jpg) akan di ubah menjadi Relative URL (../image/example.jpg).

Hal ini tentu menjadi masalah jika mencoba menampilkan image tersebut di root direktori (http://example.com) yang menyebabkan image tidak bisa ditampilkan. Hal ini juga yang saya alami kemarin, dan setelah googling menemukan jawaban bahwa Relative URL di TinyMCE itu bisa dinon aktifkan.

Untuk menon aktifkan Relative URL tersebut dapat dilakukan dengan cara menset relative_url menjadi false pada method tinyMCE.init()

tinyMCE.init({
/** other configs */
relative_urls : false
});

Pada method mcImageManager.init() relative_urls juga diset menjadi false.

mcImageManager.init({
relative_urls : false
});

Jika anda menghadapi permasalahan yang sama, cara diatas bisa dicoba.

Bersahabat Dengan Single Quotes

Thursday, June 14th, 2007

Jika tidak diescape, Single Quotes (tanda kutip satu) yang dikirim melalui form pada aplikasi web dapat menimbulkan masalah yang besar. Masalah yang ditimbulkannya bermacam - macam, dari SQL Injection sampai gagalnya data di insert ke database.

Dari PHP sendiri sebenarnya sudah ada setingan untuk mengescape single quotes, yaitu dengan menset magic_quotes_gpc menjadi On di php.ini. Tetapi kita tidak bisa mengandalkan hal ini, karena setingan server web hosting belum tentu sama dengan setingan di PC tempat anda mendevelop aplikasi tersebut. Dan anda tidak mempunyai akses untuk merubah setingan php.ini di server web hosting, kecuali server tersebut milik anda.

Cara lain yang sering digunakan adalah dengan mengescape single quotes secara manual dengan fungsi addslashes(). Sebenarnya cara ini kurang bijaksana dalam hal mengescape single quotes. Jika magic_quotes_gpc diaktifkan di server tersebut, maka single quotes ini akan otomatis diescape sehingga menghasilkan karakter berikut \’ . Jika kita menambahkan lagi addslashes() maka akan menghasilkan karakter \\\’ , karena yang diescape bukan hanya single quotes tapi backslash juga ikut di escape.
Jika anda pernah melihat karakter \’ (\’ adalah display dari karakter \\\’) pada suatu situs, maka hal diatas adalah penyebabnya.

Saya mempunyai cara tersendiri untuk mengatasi hal ini, yaitu dengan membuat satu fungsi yang melakukan pengecekan terlebih dahulu apakah magic_quotes_gpc diaktifkan atau tidak dengan menggunakan fungsi get_magic_quotes_gpc(). Jika magic_quotes_gpc diaktifkan maka single quotes tidak perlu di escape secara manual. Jika tidak aktif maka escape single quotes dengan fungsi addslashes().
Berikut ini contoh scriptnya :

function magic_quotes_gpc_on($string)
{
return (get_magic_quotes_gpc()) ? $string : addslashes($string) ;
}

// Contoh penggunaan
$nama = isset($_POST[’nama’]) ? magic_quotes_gpc_on($_POST[’nama’]) : ‘’ ;
Sangat simpel kan? Apakah anda mempunyai cara yang lain dalam mengatasi single quotes ini?