Contoh Program Sederhana Zend Framework

Wahyu Raja Butar-Butar Reply 08:02
Pertama kita buat direktori dimana kita akan membuat web.Caranya dengan membuka xampp_shell kemudian ketik zf create project web(web adalah nama folder dimana kita akan membuat poyek nanti)Setelah itu maka didalam Xampp akan muncul sebuah folder web seperti gambar ini
Bootstrap file
File bootstrap sederhananya adalah file "index.php" yang terletak pada webroot Web Server (htdocs). File inilah yang melakukan konfigurasi awal Zend Framework.Buatlah file index.php dan letakkan pada direktory htdocs:


/* Setting parameter PHP untuk melaporkan semua error. Tidak digunakan dalam production */
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
/* set direktori aplikasi dan library */
$lib_paths = array();
$lib_paths[] = "d:/xampp/htdocs/web/library";
$lib_paths[] = "d:xampp/htdocs/web/application";
$inc_path = implode(PATH_SEPARATOR, $lib_paths);
set_include_path($inc_path);

/* Load class-dasar dasar yang dibutuhkan */
require_once 'Zend/Loader.php';
require_once 'Zend/Controller/Front.php';
/* kode ini diletakkan dalam blok try agar mempermudah kita debugging */
try {
Zend_Loader::loadClass('Zend_Controller_Front');
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setParam('noErrorHandler', true);
$frontController->setControllerDirectory('d:/xampp/htdocs/web/application/controllers');
$frontController->dispatch();
}
/* catch jika terjadi exception dan laporkan */
catch (Exception $exp) {
$contentType = 'text/html';
header("Content-Type: $contentType; charset=utf-8");
echo 'exception!!';
echo ' ' . $exp->getMessage() . '

';  
echo $exp->getTraceAsString();
}

?>
2. Controller
Konvensi Zend Framework mewajibkan setiap class controller untuk diberi nama *Controller dan berada didalam file *Controller.php . Sehingga jika Anda membuat controller dengan nama "index", maka nama class haruslah "indexController" dan berada dalam file "indexController.php"Di dalam kelas controller, Anda dapat menambahkan Action. Yaitu kode yang akan diproses jika mendapat request dari browser.Misalnya jika ada request ke: " http://localhost/index/halo " maka jika dilihat dari sudut pandang Zend Framework adalah: Eksekusi Action "haloAction" yang berada dalam class (controller) "indexController".Kembali ke aplikasi kita, buatlah file indexController.php dan simpan di direktori: d:\web\Application\controllers sebelumnya saya ingatkan lagi, penamaan file dan peletakan file adalah konvensi yang harus diikuti.

Zend_Loader::loadClass('Zend_Controller_Action');
class indexController extends Zend_Controller_Action {
public function indexAction() {}
}
?>
Kita telah membuat sebuah controller dengan nama "indexController" yang memiliki sebuah action yang bernama "indexAction". Pada dasarnya controller adalh sebuah class yang diturunkan dari class "Zend_Controller_Action". Sedangkan action pada dasarnya adalah sebuah function.

Seperti yang terlihat pada contoh kode diatas, action yang kita buat adalah sebuah fungsi kosong. Kita tidak melakukan apa-apa pada action ini melainkan hanya menampilkan tulisan "Hello World" dan akan kita defenisikan pada view.
3. View
View mendefenisikan presentation. Atau tampilan dan pada konteks Web adalah kode HTML. Sekarang kita akan membuat view untuk indexAction yang telah didefenisikan sebelumnya


Buatlah file dengan nama: "index.phtml" dan simpan dalam direktori: d:\web\Application\views\scripts\index\ :
<center><h1>HELLO WORLD!!h1>center>
4 .htacces
Kita akan membuat file .htaccess yang akan melakukan routing semua request kecuali resource (gambar, javascript, stylesheet, dll) diarahkan ke index.php . Lalu front controller akan mengambil alih dari sini.

File .htaccess:
RewriteEngine on
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php

Simpan file tersebut dalam direktori wwwroot (htdocs).

Sekarang semuanya sudah selesai, silahkan akses applikasi Anda di: http://localhost/web/public

untuk lebih jelasnya bisa lihat video dibawah ini:
http://www.blogger.com/video-play.mp4?contentId=9460e6845a58067&type=video%2Fmp4 

Related Posts

Web 2545689934442542670
Comments
0 Comments
Facebook Comments by Media Blogger

Post a Comment

Search

Google+ Followers

Popular Posts

Translate