Membuat sendiri helper sederhana ala
framework
Oleh: Fuad Indra Setiawan
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....
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;
}
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;
}
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=\" <?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(); ?>
\" target=_blank>
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' >
<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>
</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
Fuad Indra Setiawan
Tentang Penulis
Fuad Indra Setiawan
Simpanlah ilmu dengan menulisnya..