Pada tutorial saya terdahulu kita sudah belajar tentang bagaimana cara membuat sendiri active record sederhana ala framework, nah pada kesempatan kali ini saya akan berbagi ilmu tentang bagaimana cara membuat helper sederhana ala framework berbasis php.
Helper dalam framework pada dasarnya adalah kumpulan function yang berfungsi untuk mempercepat dalam proses development aplikasi. Helper ada bermacam-macam tipenya, ada form, html, url, string dan masih banyak lagi tipe yang lainnya.
Pada tutorial kali saya hanya akan membahas mengenai cara pembuatan form helper, html helper, text helper, dan url heper saja. Untuk tipe helper yang lainnya silahkan para pembaca sekalian berkreasi sendiri :-)
Ok langsung saja,
Pertama kita buat file bernama form_helper.php. Form helper adalah kumpulan function sederhana yang digunakan untuk mempercepat pembuatan form html. Ketiklah program berikut ini
<?php /* ---------Form---------- */ // buka tag form function form_open($action, $method, $param) { $form_open = "<form action='$action' method='$method' $param>"; return $form_open; } // buka tag form multipart/ jika melakukan upload file function form_open_multipart($action, $method, $param) { $form_upload_open = "<form action='$action' method='$method' enctype='multipart/form-data' $param>"; return $form_upload_open; } // tutup form function form_close() { $form_close = "</form>"; return $form_close; } // label form function label($label, $for, $param) { $label = "<label for='$for' $param>$label</label>"; return $label; } // buka filedset function fieldset_open($title, $param) { $fieldset_open = "<fieldset $param><legend>$title</legend>"; return $fieldset_open; } // tutup fieldset function fieldset_close() { $fieldset_close = "</fieldset>"; return $fieldset_close; } /* -------Input-------- */ // input text function input_text($param) { $input_text = "<input type='text' $param/>"; return $input_text; } // input password function input_password($param) { $input_password = "<input type='password' $param/>"; return $input_password; } // input hidden function input_hidden($param) { $input_hidden = "<input type='hidden' $param/>"; return $input_hidden; } // input textarea function input_textarea($cols, $rows, $param, $val) { $input_textarea = "<textarea cols=$cols rows=$rows $param>$val</textarea>"; return $input_textarea; } // buka dropdown menu function dropdown_open($name,$param) { $dropdown_open = "<select name='$name' $param>"; return $dropdown_open; } // tutup dropdown menu function dropdown_close() { $dropdown_close = "</select>"; return $dropdown_close; } // option menu item function input_option($value, $label, $param) { $input_option = "<option value='$value' $param>$label</option>"; return $input_option; } // checbox item function input_checkbox($name, $value, $param) { $input_checkbox = "<input type='checkbox' name='$name' value='$value' $param/>"; return $input_checkbox; } // input radio item function input_radio($name, $value, $param) { $input_radio = "<input type='radio' name='$name' value='$value' $param/>"; return $input_radio; } // input file function input_file($param) { $input_file = "<input type='file' $param/>"; return $input_file; } /* ---------Button--------- */ // input submit function input_submit($val, $param) { $input_submit = "<input type='submit' value='$val' $param/>"; return $input_submit; } // input button function input_button($val, $param) { $input_button = "<input type='button' value='$val' $param/>"; return $input_button; } // input reset function input_reset($val, $param) { $input_reset = "<input type='reset' value='$val' $param/>"; return $input_reset; } ?>
Kedua kita buat file bernama html_helper.php. Html helper adalah kumpulan function untuk membuat tag-tag html seperti ganti baris, heading, spasi dan sebagainya. Berikut isi file html_helper.php
<?php // ganti baris function br() { $br = "<br/>"; return $br; } // garis lurus function hr() { $hr = "<hr/>"; return $hr; } // heading h1 - h6 function heading($title, $size, $param) { $heading = "<h$size $param>$title</h$size>"; return $heading; } // link tag stylesheet function getCss($url) { $getCss = "<link rel='stylesheet' href=$url type='text/css'/>"; return $getCss; } // tag favicon function getFavicon($imageUrl) { $getFavicon = "<link rel='shorcut iocn' href=$imageUrl/>"; return $getCss; } // get javascript external link function getJs($url) { $getJs = "<script type='text/javascript' src=$url></script>"; return $getJs; } // tag image function img($img, $param) { $img = "<img src='$img' $param/>"; return $img; } // spasi function nbsp($count) { for ($i = 1; $i <= $count; $i++) { echo ' '; } } // tag meta, untuk SEO (description, keyword, dsb) function meta($name, $content) { $meta = "<meta name='$name' content='$content'>"; return $meta; } // doctype dokumen function doctype() { $doctype="<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"; return $doctype; } ?>
Ketiga buatlah file text_helper.php. Text helper merupakan kumpulan function yang berkaitan dengan engolhan text, seperti pembatan jumlah huruf dan karakter pada sebuah kalimat. Berikut adalah isi text_helper.php
<?php // membatasi jumlah kata pada kalimat function string_limit_words($string, $word_limit) { $words = explode(' ', $string); return implode(' ', array_slice($words, 0, $word_limit)); } // membatasi jumlah karakter pada string function character_limiter($text,$limiter) { $character=substr($text,0,$limiter); return $character; } ?>
Keempat buatlah file url_helper.php. Url helper berfungsi untuk membuat tag html berupa link, redirection halaman, dan seo link. Berikut isi darifile url_helper.php.
<?php // redirect halaman dengan delay function redirect_delay($delay, $url) { echo "<meta http-equiv='refresh' content=$delay;url=$url>"; } // redirect halaman tanpa delay funtion redirect($url) { echo header('Location:$url'); } // redirect halaman dengan javascript function refresh($location) { echo"<script>window.location='$location';</script>"; } // membuat link function anchor($url, $title, $param) { $anchor = "<a href='$url' $param>$title</a>"; return $anchor; } // base url situs function base_url() { $base_url = "http://localhost/root_folder"; // disesuaikan sesuai direktori root dokumen return $base_url; } // membuat friendly url/ SEO url function url_title($s) { $c = array (' '); $d = array ('-','/','\\',',','.','#',':',';','\'','"','[',']','{','}',')','(','|','`','~','!','@','%','$','^','&','*','=','?','+'); $s = str_replace($d, ' ', $s); // mengganti karakter array $d menjadi spasi $s = strtolower(str_replace($c, '-', $s)); // membuat seo url return $s; } // Auto generate link function auto_link($text) { $auto_link = preg_replace("/((?:https?|ftp):\/\/\S+[[:alnum:]]\/?)/si", "<a href=\"$0\" target=_blank>$0</a>", $text); return $auto_link; } ?>
Kelima, masukkan semua file helper diatas kedalam folder bernama helper. Untuk mengimplementasikan helper yang kita buat sebelumnya, sediakan file index.php dan isi dengan kode berikut
<?php require_once("helper/form_helper.php"); require_once("helper/html_helper.php"); require_once("helper/text_helper.php"); require_once("helper/url_helper.php"); // Generate seo friendly url $text="membuat website dengan php"; echo url_title($text); echo br(); echo br(); // Generate link $param='style="color:red;" title="Jago Coding"'; echo anchor("http://jagocoding.com","Jago Coding",$param); echo br(); echo br(); // membatasi kata echo string_limit_words($text,4); echo br(); echo br(); // auto link $link="http://facebook.com"; echo auto_link($link); echo br(); echo br(); // form echo form_open("index.php", "post", ""); echo label("Nama", "nama", 'class="label"'); echo br(); $t1='name="nama"'; echo input_text($t1); echo br(); echo label("Nim", "nim", 'class="label"'); echo br(); $t2='name="nim"'; echo input_text($t2); echo br(); echo label("Alamat", "alamat", 'class="label"'); echo br(); echo input_textarea('30', '5', 'class="textarea"', ""); echo br(); echo input_submit("Submit", 'name="submit"'); echo input_reset("Clear", 'name="clear"'); echo form_close(); ?>
Apabila kode index.php dijalankan dan kita view sourcenya maka akan menghasilkan kode sebagai berikut
membuat-website-dengan-php<br/><br/> <a href='http://jagocoding.com' style="color:red;" title="Jago Coding">Jago Coding</a><br/><br/>membuat website dengan php<br/><br/> <a href="http://facebook.com" target=_blank>http://facebook.com</a><br/><br/> <form action='index.php' method='post' > <label for='nama' class="label">Nama</label><br/> <input type='text' name="nama"/><br/> <label for='nim' class="label">Nim</label><br/> <input type='text' name="nim"/><br/> <label for='alamat' class="label">Alamat</label><br/> <textarea cols=30 rows=5 class="textarea"></textarea><br/> <input type='submit' value='Submit' name="submit"/> <input type='reset' value='Clear' name="clear"/> </form>
Sekian tutorial yang dapat saya berikan. Semoga tutorial "Membuat sendiri helper sederhana ala framework" dapat menginspirasi para pembaca sekalian....
Download Source Code Online Demo
Salam penulis