Helper Dan Library CodeIgniter
Helper Dan Library CodeIgniter
CodeIgniter menyediakan dua jenis sarana yang dapat digunakan untuk membantu proses
pengembangan aplikasi, antara lain:
Library
Library dapat dikatakan sebagai kumpulan tools yang dapat digunakan untuk membantu sebuah
proses. CodeIgniter telah menyediakan banyak library yang dapat digunakan secara langsung.
Library pada dasarnya adalah sebuah kelas yang diletakkan di dalam folder system/libraries atau
application/libraries. Library yang terletak di dalam folder system merupakan library bawaan
dari CodeIgniter yang secara default di beri awalan CI_. Untuk library buatan sendiri harus
diletakkan di dalam folder application/libraries.
Helper
Helper adalah kumpulan fungsi yang diletakkan di dalam folder system/helpers atau
applications/helpers. Biasanya helper sering digunakan dalam view untuk membantu
prosesproses yang berulang, seperti generate html, url, security, dan lain-lain.
Menggunakan Library dan Helper di CodeIgniter
Agar dapat menggunakan library, helper dan pluggin, maka ketiganya harus di load terlebih
dahulu. Ada dua cara yang dapat dilakukan untuk men-load sebuah library dan helper antara lain:
1. Menambahkan Pada Konfigurasi Autoload
Menambahkan sebuah library di autoload berarti seluruh aplikasi Anda akan dapatmenggunakan
library tersebut secara langsung. Sebaiknya library yang di load dengan cara ini adalah jenis
library yang dipakai di seluruh aplikasi seperti login, template, dan lain-lain.
2. Menggunakan Perintah Loader Library
Kita dapat juga menggunakan library loader untuk men-load library. Library loader adalah
sebuah library CodeIgniter yang otomatis di load. Loader berfungsi sebagai pengatur dari
sumberdaya-sumberdaya yang ada di dalam CodeIgniter seperti Model, View, Library, Helper,
dan pluggin. Cara penggunaannya adalah:
$this->load->library('nama_library');
$this->load->helper('nama_helper');
$this->load->pluggin('nama_pluggin');
Nama library, helper dan pluggin harus di isi dengan huruf kecil.
Ketika sebuah library sudah di-load maka library tersebut menjadi property pada object
Controller. Adapun cara penggunaannya adalah sebagai berikut:
$this->nama_library->fungsi();
Library CodeIgniter
Secara default CodeIgniter telah menyediakan library yang dapat digunakan secara langsung.
Adapun library yang telah tersedia antara lain:
Benchmarking Class
Library ini digunakan untuk melakukan pengukuran terhadap aplikasi yang dibuat. Seperti untuk
mengetahui berapa lama waktu eksekusi dan berapa jumlah memori yang digunakan.
Library ini sudah digunakan dan diload secara otomatis oleh CodeIgniter.
Calendar Class
Cart Class
Library ini berfungsi untuk membuat shopping cart (keranjang belanja). Library ini memiliki
ketergantungan terhadap kelas session karena item-item chart tersebut disimpan di dalam
session.
Config Class
Library ini berfungsi untuk mengambil data-data di dalam file konfigurasi. Library ini sudah di
load secara otomatis oleh CodeIgniter.
Database Class
Library database digunakan untuk memanipulasi serta mendapatkan data dari sebuah sistem
database. Secara default database yang sudah didukung oleh CodeIgniter adalah mysql, mssql,
oracle, postgres. Sedangkan database yang tidak didukung secara langsung oleh CodeIgniter
dapat dijembatani dengan driver odbc.
Email Class
Library email digunakan untuk mengirimkan email. Pengiriman email tersebut bisa dilakukan
dengan menggunakan protokol mail, sendmail dan smtp.sqawd
Encryption Class
Library Uploading digunakan untuk meng-upload file. Kelas ini sudah dilengkapi dengan
pengecekan jenis file, dan ukuran file.
Library form Validation digunakan untuk mengecek keabsahan form-form yang sudah di-submit
oleh user.
FTP Class
Library FTP digunakan untuk meng-upload atau download file melalui ftp server.
Library HTML table adalah sebuah kelas yang berfungsi untuk men-generate table dari data
array.
Library image manipulation berfungsi untuk mengolah gambar. Adapun fungsi-fungsi yang telah
disediakan adalah Image Resizing, Thumbnail Creation, Image Cropping, Image Rotating dan
Image Watermarking.
Library Input dan security berfungsi untuk menjamin bahwa inputan dari form telah bersih dari
karakter-karakter aneh.
Loader Class
Library ini dapat disebut sebagai pengatur sumberdaya CodeIgniter. Semua sumberdaya yang
ada akan dikendalikan oleh kelas ini. Library ini sudah di-load secara otomatis oleh CodeIgniter.
Language Class
Library language digunakan untuk mengatur bahasa apa yang akan dipakai oleh CodeIgniter.
Output Class
Library Output bertujuan untuk meng-handle output dari CodeIgniter, mulai dari cache sampai
ke profiling bisa dilakukan kelas ini.
Pagination Class
Untuk mem-paginate hasil database untuk performance dan usability, kita bisa mengontrol
berapa banyak record untuk ditampilkan disetiap halaman website, berapa banyak record untuk
ditarik dari database dan tampilan dari bagian pagination
Session Class
Library Session dapat digunakan untuk memelihara informasi status tentang user (seperti
layaknya session di PHP). Tetapi Library ini tidak menggunakan session built-in dari PHP,
Library Session men-generate session datanya sendiri yang disimpan di dalam Cookies.
Trackback Class
Library Template Parser digunakan untuk membuat template yang berisi parsable pseudo
templates.
Library Unit Testing digunakan untuk unit test function dalam aplikasi yang sedang dibuat.
CodeIgniter menyediakan fungsi evaluasi dan dua fungsi hasil dalam library ini.
URI Class
Library URI digunakan untuk memparsing URL, lalu memecahnya ke dalam beberapa segmen
dan kemudian di-passing ke controller atau disimpan sebagai variabel.
Library User Agent digunakan untuk mengidentifikasi browser, mobile device, atau robot yang
mengunjungi website. Kita juga bisa menggunakannya untuk mendeteksi dukungan bahasa,
sekumpulam karakter, dan referrer.
XML-RPC Class
Library Zip Encoding digunakan untuk membuat file ZIP baik yang berjenis teks maupun data
binary.
Helper CodeIgniter
Helpers seperti namanya akan membantu Anda membangun aplikasi dengan tugas tertentu. Tidak
seperti library, helper bukanlah Object Oriented tapi berupa prosedural. Setiap helper berisi satu
atau lebih fungsi, masing-masing berfokus pada tugas tertentu yang tidak ada ketergantungan
dengan fungsi lainnya.
Helper dapat juga di-load secara otomatis dalam /system/application/config/autoload.php.
Adapun helper yang ada di dalam CodeIgniter antara lain:
Array Helper array berisi fungsi yang membantu pekerjaan berhubungan dengan array.
Sebagai contoh fungsi random_element() mengambil array sebagai input dan menghasilkan
elemen random darinya.
Cookie Helper cookie berisi fungsi yang membantu pekerjaan berhubungan dengan
pemberian nilai, pembacaan data cookies, dan penghapusan data cookie.
Date Helper date berisi fungsi yang membantu pekerjaan berhubungan dengan
tanggal.
Sebagai contoh, fungsi now() menghasilkan waktu sekarang sebagai UNIX timestamp.
Download Helper download berisi fungsi tunggal yang membantu men-download data
dengan mudah. Fungsi force_download() menghasilkan header server yang memaksa
data untuk di-download.
File Helper file berisi fungsi yang membantu untuk membaca, menulis, dan
menghapus file.
HTML Helper HTML berisi fungsi yang membantu membuat blok HTML dengan
cepat dan mudah. Sebagai contoh fungsi ul() bisa mengubah array item ke bulleted list.
Inflector Helper inflector berisi fungsi yang membantu mengubah kata-kata menjadi
bentuk plural atau singular, memberlakukan camel case atau mengubah kata-kata yang
dipisahkan oleh spasi menjadi phrase yang digaris bawahi, sebagai contoh fungsi singular
bisa mengubah string girls menjadi girl.
Security Helper security berisi fungsi yang berhubungan dengan keamanan seperti
xss_clean(), yang akan menyaring setiap kode yang mungkin digunakan dalam cross site
scripting hack.
Text Helper text berisi fungsi-fungsi yang membantu Anda bekerja dengan teks.
Sebagai contoh: fungsi word_limiter, dapat membatasi string ke sejumlah kata tertentu
yang berguna untuk membatasi input user pada form.
Typography Helper typography berisi fungsi tunggal yang membantu memformat teks
dengan cara yang tepat. Sebagai contoh: fungsi auto_typography() me-wrap paragraph
dengan <p> dan </p>, mengkonversi line breaks ke <br/> dan mengkonversi tanda kutip,
dash, dan ellipse dengan baik.
URL Helper URL berisi fungsi-fungsi yang membantu bekerja dengan URL. Anda
akan menggunakan fungsi base_url() dan anchor() dalam setiap projek.
XML Helper XML berisi fungsi tunggal yang membantu bekerja dengan XML.
Fungsi xml_convert berfungsi untuk mengkonversi string menjadi teks XML,
mengkonversi ampersand dan angle bracket menjadi entity.
* @link http://www.CodeIgniter.com/wiki/CSVReader
*/
class csv_reader {
var $fields;
var $separator=';';
var $enclosure='"';
var $max_row_size=4096;
/**
* Parse a file containing CSV formatted data.
*
* @access public
* @param string
* @param boolean
* @return array
*/
function parse_file($p_Filepath, $p_NamedFields=true)
{
$content=false;
$file= fopen($p_Filepath,'r');
if($p_NamedFields)
{
$this->fields = fgetcsv($file,$this->max_row_size,
$this->separator,$this->enclosure);
}
while(($row= fgetcsv($file,$this->max_row_size, $this>separator,$this->enclosure))!=false)
{
if($row[0]!=null)
{// skip empty lines
if(!$content){$content=array();}
if($p_NamedFields)
{
$items=array();
foreach($this->fields as$id=>$field)
{
if(isset($row[$id]))
{$items[$field]=$row[$id];}
}
$content[]=$items;
}
else
{ $content[]=$row; }
}
}
fclose($file);
return $content;
}
}
Agar dapat menggunakan library tersebut maka lakukan langkah-langkah berikut ini:
Untuk menggunakan library buatan kita sendiri atau library eksternal maka langkah yang
pertama yang harus dilakukan adalah meletakkan library itu di direktori application/libraries.
Nama file dan nama kelas harus sama. Contoh nama file adalah csv_reader.php maka nama
kelasnya adalah csv_reader
Setelah meletakkan library tersebut di direktori application/libraries kita tinggal meload library
atau kelas tersebut. Setelah di load maka nama library tersebut akan menjadi property di kelas
controller.
Perhatikan contoller berikut ini
1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2.
3. class Welcome extends CI_Controller {
4.
5. function __construct()
6. {
7. parent::__construct();
8.
9. }
10.
11. function index()
12. {
13. $this->load->library('csv_reader');
14. $data = $this->csv_reader->parse_file(FCPATH.'data_nilai.csv');
15.
16. echo "<pre>";
17. print_r($data);
18.
19. }
20. }
21.
22. /* End of file welcome.php */
23. /* Location: ./application/controllers/welcome.php */
.
Pada baris ke-13 kita akan mencoba menggunakan library csv_reader, kelas tersebut akan
memparsing sebuah file CSV. Lalu hasil parsingan tersebut kita tampilkan di layar browser anda.
http://ganeshasoftmedia.com/tutorial/helper-dan-library-codeigniter.html
Contoh Kode ini adalah untuk menampilkan data di table database ke Datagrid
jEasyUI
Jika belum tahu apa itu jEasyUI klick link berikut. JeasyUI
1. Model (user_model.php)
<?php
class User_model extends CI_Model{
public function get_user($offset,$limit,$q=''){
$sql = "SELECT * FROM t_user WHERE 1=1 ";
if($q!=''){
$sql .=" AND name LIKE '%{$q}%' ";
}
$result['count'] = $this->db->query($sql)->num_rows();
$sql .=" LIMIT {$offset},{$limit} ";
$result['data'] = $this->db->query($sql)->result();
return $result
}
2. Controller (user.php)
<?php
class User extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->view('user_view');
3. view (user_view.php)
<!DOCTYPE html>
<html>
<head>
<title>Brand</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--LOAD file-file yang dibutuhkan-->
<link rel="stylesheet" type="text/css"
href="assets/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="assets/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css" href="assets/css/main.css">
<script type="text/javascript" src="assets/js/jquery-1.8.0.min.js"></script>
<script type="text/javascript"
src="assets/easyui/jquery.easyui.min.js"></script>
</head>
<body>
<?php $url_data=base_url().'index.php/user/get_user';?>
<table id="dg" title="Product" class="easyui-datagrid"
style ="width:auto;height:400px"
url
="<?php echo $url_data;?>" toolbar="#toolbar"
pagination="true"
rownumbers="false"
fitColumns="true" singleSelect="true"
checkBox ="true" striped="true"
remoteSort="false"
nowrap
="false">
<thead>
<tr>
<th field="ck" checkbox="true"></th>
<th field="first_name" width="200" sortable="true">
<b>First Name</b>
</th>
<th field="last_name" width="700" sortable="true">
<b>Last Name</b>
</th>
<th field="phone" width="100" sortable="true">
<b>Phone</b>
</th>
<th field="email" width="100" sortable="true">
<b>email</b>
</th>
</tr>
</thead>
</table>
<!--TOOLBAR di Datagrid-->
<div id="toolbar">
<a href="#" class="easyui-linkbutton" data-options="iconCls:'iconadd',plain:true" onclick="new_brand();">New</a>
search: $('#search').val()
});
$('#search').focus();
$(function(){
$('#search').keyup(function(){
doSearch();
});
});
</script>
Sekian. Notes : attribute 'field' adalah keys dari rows di controller. Jika belum bisa
Codeigniter sebaiknya belajar dulu Disini. Jika ada yang tak jelas Please Ask di
Komen
http://teknosains.com/i/menampilkan-data-dari-mysql-ke-datagrid-jeasyui-dengancodeigniter
https://www.youtube.com/watch?v=7-jo8LKCnUk
https://www.youtube.com/watch?
v=rzoQoB9N3v8&ebc=ANyPxKplXp40KqbOyzWkTCscZ_fixPfubwivnQb3_C4H44NkOg
a-y59y-Rk69OzgwcJpm45ob0CelQUIbcq8kjW9TPG_jpEdZg