Contoh Program Sederhana Zend Framework
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() . '
}
?>
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.
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
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
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:
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