Welcome to Abdul Malik Ikhsan's Blog

Smarty (Pra FrameWork 2)

Posted in Tutorial PHP by samsonasik on July 22, 2008

Bahasan kita kali ini adalah smarty. Smarty dapat dikatakan setengah framework, di mana pada level template, smarty sudah tidak ada lagi coding yang susah. Semua logic terdapat di model, dan diarahkan oleh controller.
Di smarty,  tidak ada lagi coding PHP di dalamnya, hanya ‘Expression Language’ sederhana. (ciri-ciri framework bukan berarti tidak ada coding PHP di Layer View (memang ada yang menggunakan bahasa template seperti smarty, tapi tidak semua), hanya saja, sudah menggunakan code yang sederhana, dan fungsi2 bawaan framework itu sendiri yang umumnya sangat bermanfaat untuk mempercepat pengerjaan aplikasi-red).
Sebelum masuk bahasan ini, anda harus baca dulu bahasan tentang Pra FrameWork 1 dulu, :),
Sebenarnya, kita akan membuat aplikasi yang sama, hanya dengan style yang lebih keren.
Hal pertama yang harus dilakukan adalah download latest smarty :smarty.php.net , ada di situ.
kedua, kita buat folder, misalkan bernama 2 di htdocs kita.
exstract di smarty di dalamnya, kita rename jadi smarty misalnya 🙂
Sekarang, copy-kan folder templates dan template_c dari folder smarty keluar folder, jadi di dalam folder 2, ada file-file berikut :
1. smarty
2. templates
3. template_c
4. Smarty-2.6.19.tar.gz (file download-an kita, kalau mau didelete jg gpp).
Nah, sekarang, let’s coding ya :
copy-kan file2 yang terdahulu, seperti conf.php, lib.php, dan Model.php (bisa baca lagi
Pra FrameWork 1 ) ke dalam folder 2,
Kita buat file controller kita (nantinya menggenerate view) :

Code:
<?php
/**
* nama file = viewprovkota.php
* @author Abdul Malik Ikhsan
* @param none
*/
include ‘smarty/libs/Smarty.class.php’;
include ‘Model.php’;
$smarty = new Smarty;
$prov = new Model();

$data = array();
$data[‘provinsi’] = $prov->getProvince();
$kota = array();
forEach($data[‘provinsi’] as $p){
$kota[] = $prov->getCity($p[‘kode_provinsi’]);
}
$data[‘kota’] = $kota;

$smarty->assign(‘items’,$data);
$smarty->display(‘view.tpl’);
?>

Sekarang, saatnya kita tampilkan dalam layer view, yaitu view.tpl (lihat $smarty->display(‘view.tpl’);) :

Code:
<table width=”515″ border=”1″>
<tr>
<td width=”48″>&nbsp;No.</td>
<td width=”70″>&nbsp;Kode Provinsi</td>
<td width=”375″>&nbsp;Nama Provinsi</td>
<td>Kota2nya</td>
</tr>
{foreach from=$items.provinsi key = id item = prov}
<tr>
<td>{$id+1}</td>
<td>{$prov.kode_provinsi}</td>
<td>{$prov.nama_provinsi}</td>
<td>
{foreach from=$items.kota.$id key=idkota item = kota}
{$kota.nama_kota}<br>
{/foreach}
</td>
</tr>
{/foreach}
</table>

Asyik kan 🙂

2 Responses

Subscribe to comments with RSS.

  1. dudunavi said, on July 30, 2008 at 11:52 pm

    Akhirnya nemu juga yang bahas ini. Masih belajar mas..

  2. riri said, on January 18, 2009 at 1:36 am

    thanks 4 tutorialnya! still trying to learn


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: