Archive for the 'PHP' Category

Bye2 PHP4

Dengan release terbaru PHP, versi 4.4.9, sepertinya team PHP sudah tidak akan mengembangkan versi PHP4 lagi. Mereka menyatakan ini adalah versi terakhir yang di release mereka. So, bagi yang masih berplatform PHP4, silahkan saja upgrade ke PHP5.

So, goodbye PHP4, welcome PHP5.

Sunday, August 10th, 2008 | Tags: Articles, PHP | No Comments

Miss the good ol PHP

Bagi para programmer PHP, tentunya pernah menulis beberapa class2 dan berkutat dengan object2. Jujur, dengan perkembangan PHP sekarang, saya benar2 merasa PHP mengalami penurunan kualitas bahasa. Terutama di fitur-fitur bahasa untuk object oriented programmingnya. Seperti kehilangan identitas.

Read the rest of this entry »

Thursday, June 26th, 2008 | Tags: Articles, PHP, Rants | 6 Comments

Mengirim request HTTP Post dengan PHP

Bikin request HTTP GET dengan PHP emang gampang. Cukup:

$url = 'http://google.com/';
echo file_get_contents($url);

Tetapi, gimana kalau request POST? Ada banyak solusi. Pertama pakai CURL, yg kedua, bikin request HTTP manual, misal:

$fp = fsockopen($host,$port);
fputs($fp, "POST / HTTP/1.0\r\n".
"Content-Length: 3\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n\r\n".
"x=2");
...

Tapi kan ngga seru, panjang dan rawan problem. Solusi gampang, kita bisa pakai stream_context_create, cara pakainya gini:

$vars='a=1';
$context = array('http' =>
    array(
        'method' =>	'POST',
        'header' =>	"Content-type: application/x-www-form-urlencoded\r\n" .
        "User-Agent: PHP pake stream\r\n" .
        "Content-length: " .strlen($vars),
        'content' => $vars
    )
);
$cid = stream_context_create($context);
$sock = fopen($url, 'r', false, $cid);
$data = '';
while(!feof($sock)) { $data .= fgets($sock, 2048); }
fclose($sock);

Lebih bersih dan lebih simpel dari bikin HTTP request biasa. Nah, daftar opsi context untuk protocol HTTP nya bisa di lihat disini manual PHP bagian HTTP context. Dan untuk protokol2 lain, silahkan baca baik2 di manual PHP bagian context

Happy coding ;)

Wednesday, June 18th, 2008 | Tags: Articles, PHP | 2 Comments

PHP Flow Control Tips

Tips 1: Do..While

Pernahkah anda membuat sebuah coding seperti ini?

if (..) {
  if (..) {
    if (..) {
      if (..) {
        //
      }
    }
  }
}

Jika pernah, nampaknya source-code anda perlu pembenahan dan di restruktur lagi. Emang sih, it works, tapi .. nanti bila orang lain membuka source anda… siap2 tahan malu deh. Saya ada trik untuk memanfaatkan konstruk looping do..while untuk contoh kasus semacam ini. Contoh nya:

do {
  if (!...) break;
  if (!...) break;
  if (!...) break;
  if (!...) break;
  // do something here
} while(FALSE);

Dan cukup berhasil mengurangi indentasi yg berlebihan ;)

Break Nested Loop

Bagi yg belum ngerti, statement break untuk membuat flow program keluar dari sebuah loop. Tetapi, di PHP, break bisa mempunyai parameter. Jadi kita bisa jump dari 2 nested loop sekaligus hanya dengan 1 statement break. Misal:

for($i=0; $i<10; $i++) {
  for($j=0; $j<10; $j++) {
    if ($i == 2) break 2;
    echo "$i, $j";
  }
}

Statement break 2 akan mengeluarkan alur program dari 2 looping for diatas.

Semoga bermanfaat

Tuesday, March 4th, 2008 | Tags: Articles, PHP | 4 Comments

Mengganti User-Agent PHP

Saya biasa menggunakan beberapa fungsi PHP yang mendukung url-fopen-wrapper untuk meng-grab isi halaman web dari situs lain. Misalnya:

$rss = file_get_contents('http://ferdianto.com/feed');

Tetapi beberapa situs sengaja memblokir dengan melakukan restriksi terhadap user-agent. Daripada saya membuat fungsi sendiri untuk mengganti user-agent ini, atau menggunakan library khusus untuk sebuah keperluan HTTP GET biasa, maka kita bisa memodifikasi user-agent yang dikirim oleh PHP.

Here is how:

Read the rest of this entry »

Saturday, March 1st, 2008 | Tags: Articles, PHP | 1 Comment

PHP Form Handling Tips

Saya pengen sharing beberapa tips untuk proses penanganan form di PHP yang wajib dalam aplikasi web. Kalau seandainya anda udah ngerti gpp kan baca2 lagi ;))

Read the rest of this entry »

Thursday, February 28th, 2008 | Tags: Articles, PHP | 6 Comments

FastCGI (mod_fcgid), Apache2.2, PHP5, APC, XCACHE in WindowsXP

Sesuai dengan request Pak Steven Haryanto di artikel ini, saya akan memposting isi dari httpd.conf apache saya. Untuk modul FastCGI nya, saya memakai mod_fcgid, secara mod_fastcgi yang asli tidak berjalan dengan semestinya di Windows. Proses instalasinya tinggal kopi paste doang dari dokumentasi mod_fcgid, karena emang PHP versi windows udah di compile dengan FastCGI modul enabled.

Read the rest of this entry »

Friday, December 7th, 2007 | Tags: Articles, FastCGI, PHP | 5 Comments