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:

function extract_var($variable){
	$raw = explode("&",$variable);
	 for ($i=0; $i <= count($raw)-1; $i++)
	  {
		 $data = explode('=', $raw[$i]);
		 $var[$data[0]] = $data[1];
	  }
	  return $var;
}
  1. Gunakan pada fungsi yang anda kehendaki misalnya:
function list_data($options)
{
$options = extract_var($options);
$limit = $options['limit'];
$order = $options['order'];
}
$list_data = list_data('&limit=30&order=asc');

akan menghasilkan limit 30 dan order asc. Mudah khan?

jadi, sebagai gambaran, kalau kita akan mengakses function dengan parameter yang panjang, bisa pakai begini mas:

get_post_content("type=berita&amp;limit=40&amp;kategori=1,2,3&amp;lang=id&amp;orderby=tgl_insert");
//dibanding dengan
get_post_content('berita',40,'1,2','id','tgl_insert');

lebih enak dibaca dan di-debug kalau ada yang salah šŸ™‚

 

Wagiman Wiryosukiro

Petani Sistem Informasi, tukang las plugin & themes Wordpress. Co-Founder SistemInformasi.biz. Saat ini aktif sebagai Developer & kontributor di OpenMandriva Linux.

You may also like...

5 Responses

  1. Bisnis Pulsa says:

    Kunjungan perdana gan…,Izin baca2 n menimba ilmu…ok..Support U…!!! Thanks

  2. quo vadis says:

    bukanya:
    $i < count($var)

    lebih cepat pak?

  3. Andi Mariadi says:

    Kayaknya ane belum ngeh gan šŸ˜€

    • Luthfi Emka says:

      jadi, sebagai gambaran, kalau kita akan mengakses function dengan parameter yang panjang, bisa pakai begini mas:

      get_post_content("type=berita&limit=40&kategori=1,2,3&lang=id&orderby=tgl_insert");
      //dibanding dengan
      get_post_content('berita',40,'1,2','id','tgl_insert');
      

      lebih enak dibaca dan di-debug kalau ada yang salah šŸ™‚

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: