Membuat sendiri helper sederhana ala framework

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 '&nbsp;';
    }
}


// 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

Fuad Indra Setiawan


0 comments:

Posting Komentar