Tarif Murah, sinyal Susah
Tarif Murah, sinyal Susah, itulah rupanya yang dirasakan banyak kalangan pengguna GSM sekarang, jangankan mau telpon, kadang, kirim sms aja ada pesan jaringan sibuk. Sungguh mengecewakan banget, (sebagai catatan, saya pengguna indosat-red), bayangkan, ketika sedang penting2nya, pas mau telpon, ternyata ada pesan, “Maaf, nomor yang anda hubungi belum terpasang”, hmm…, di sini jelas konsumen yang dirugikan.
Smarty (Pra FrameWork 2)
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(); $smarty->assign(‘items’,$data); |
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″> No.</td> <td width=”70″> Kode Provinsi</td> <td width=”375″> 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 🙂
Array[] (Pra FrameWork 1)
Array, adalah hal yang paling sering kita pakai jika kita menggunakan suatu framework. Salah satu kelebihan framework secara umum adalah dipisahkannya Layer Model, View, dan Controller. Jika dalam JSP, kita memasukkan dalam atribut ( yang bisa menampung Array / ArrayList), di PHP, kita bisa masukkan dalam Array Dinamis, yang bisa menangkap semua tipe data.
Nah, sebelum kita belajar framework, alangkah baiknya kita belajar cara menangkap data itu sendiri dalam Array dinamis.
Pertama, kita buat file conf.php untuk mengisi konfigurasi :
Code: |
<?php /** * nama file = conf.php * @author Abdul Malik Ikhsan * @param none */ $server = “localhost”; $dbtype = “mysql”; $usr = “root”; $pwd = “123”; $db = “praframework”; ?> |
Nah, sekarang kita buat file library untuk kondisional konfigurasi yang telah kita buat :
Code: |
<?php /** * nama file lib.php * @author Abdul Malik Ikhsan * @param $query parameter isian Query */ ?> <?php include “conf.php” ?> <?php function getConn(){ global $server,$usr,$pwd,$db,$dbtype; switch($dbtype): case “mysql”: mysql_connect($server,$usr,$pwd); mysql_select_db($db); break; case “sqlserver”: mssql_connect($server,$usr,$pwd); mssql_select_db($db); break; endswitch; } function dbGetAll($query){ |
…………
Sebelum kita melangkah lebih jauh, kita buat dulu tabel2nya, misal tabel provinsi dengan field kode_provinsi dan nama_provinsi , serta table kota yang merupakai detail dari table provinsi dengan field kode_kota, nama_kota, dan kode_provinsi.
The Model :
Code: |
<?php /** * nama file Model.php * @author Abdul Malik Ikhsan * @param $kd parameter isian kota dengan detail kode provinsi = @param */ ?> <?php include “lib.php” ?> <?php class Model{ //konstruktor function __construct(){ getConn(); } function getProvince(){ $privince = array(); $province = dbGetAll(“select * from provinsi”); return $province; } function getCity($kd){ $city = array(); $city = dbGetAll(“select * from kota where kode_provinsi = ‘$kd'”); return $city; } } |
…………
The Controller : (Tempat instansiasi kelas menjadi objek dan menampung data sebelum ditampilkan)
Code: |
<?php /** * nama file Controller.php * @author Abdul Malik Ikhsan * @param none */ ?> <?php include “Model.php” ?> <? $data = array(); // instansiasi kelas Model menjadi objek $prov $prov = new Model(); //tampung hasil Query seleksi provinsi ke array $data[‘provinsi’] $data[‘provinsi’] = $prov->getProvince(); //karena kita akan mencoba menyeleksi data kota //berdasarkan kode provinsi, kita bisa melooping data //provinsi di sini, kita tampung dalam array $kota $kota = array(); forEach($data[‘provinsi’] as $p){ $kota[] = $prov->getCity($p[‘kode_provinsi’]); } // isi array $data[‘kota’] dengan array tampungan $kota $data[‘kota’] = $kota; ?> |
Nah, sekarang akan kita coba Layer View (Presentation Layer) :
Code: |
<?php /** * nama file View.php * @author Abdul Malik Ikhsan * @param none */ ?> <?php include “Controller.php” ?> <table width=”515″ border=”1″> <tr> <td width=”48″> No.</td> <td width=”70″> Kode Provinsi</td> <td width=”375″> Nama Provinsi</td> <td>Kota2nya</td> </tr> <?php $i = -1; forEach($data[‘provinsi’] as $prov){ $i++; ?> <tr> <td> <?=$i+1?>.</td> <td> <?=$prov[‘kode_provinsi’]?></td> <td> <?=$prov[‘nama_provinsi’]?></td> <td> <?php forEach($data[‘kota’][$i] as $city){ ?> <?=$city[‘nama_kota’]?><br> <?php } ?> </td> </tr> <?php } ?> </table> |
fatihah dalam sholat
sedangkan Rasul saw bersabda : “Tiada shalat yg tak dibaca padanya Alfatihah” (Shahih Muslim), maka wajib makmum mendengar bacaan imam yg membaca Alfatihah, dan wajib makmum membaca fatihah selepas bacaan imam diwaktu jeda yg diberikan imam antara fatihah dan surat, dan jika imam menyempitkan jeda waktu itu hingga ia segera membaca surat, maka makmum boleh meneruskan fatihahnya hingga selesai lalu mendengarkan lagi bacaan imam
Source : http://majelisrasulullah.org/index.php?option=com_simpleboard&Itemid=
&func=view&catid=8&id=13248&lang=id#13248
leave a comment