Monday, January 17, 2011

Zend Framework : Mari membuat aplikasi web sederhana (Article #2)

firman.efendi@gmail.com

Untuk lebih mempermudah kita dalam memahami cara kerja Zend Framework saya ingin mengajak anda untuk mencoba membuat sebuah aplikasi web sederhana. Pola atau Pattern dalam membuat sebuah aplikasi berbeda-beda antara tiap-tiap developer. Pola atau Pattern dari aplikasi web yang saya jadikan contoh di sini belum tentu efektif bagi developer lain. Namun paling tidak, aplikasi sederhana ini bisa memberikan kemudahan bagi kita untuk mengenal Zend Framework lebih mendalam lagi.

Baiklah, kita akan memulainya dari menjabarkan struktur folder dan file. Pada contoh ini aplikasi web diletakan pada folder root. Agar lebih fokus, tiap sub folder tidak akan dijabarkan selengkap-lengkapnya, seperlunya saja sesuai dengan tema dan judul pembahasan.

Sekarang mari kita cermati susunan folder dan sub folder dibawah ini ! Struktur ini akan membantu kita dalam memahami source code pada file index.php

--- htdocs
      --- application
            --- core
            --- design
            --- etc
                  --- config.ini
            --- locale
      --- cache
      --- images
      --- library
            --- Zend
                  --- Application.php
      --- js
      --- css

      --- index.php

Folder application memiliki 4 (empat) sub folder yaitu core, design, etc, dan locale. Sub folder core menampung file-file Model dan Controller dari tiap-tiap modul. Sub folder design menampung file-file html dari tiap-tiap modul. Sub folder etc menampung file-file konfigurasi global. Sub folder locale menampung file-file localization. Data cache akan ditempatkan pada folder cache. File gambar pada folder images. File javascript pada folder js. File css pada folder css. Zend Framework dan library pendukung akan ditempatkan pada folder library.

Selanjutnya, kita akan membuat file index.php dengan source code berikut ini :

<?php

define('DS', DIRECTORY_SEPARATOR);
define('BASE_PATH', realpath(dirname(__FILE__)));
define('APPLICATION_PATH', BASE_PATH . DS . 'application');
define('CONFIG_PATH', APPLICATION_PATH . DS . 'etc');
define('APPLICATION_ENV', 'production');

require_once 'library/Zend/Application.php';

$application = new Zend_Application(
                    APPLICATION_ENV,
                    CONFIG_PATH . DS . 'config.ini'
               );

$application->bootstrap()
            ->run();

?>

Pertama-tama kita harus mendefinisikan beberapa variable dan path. Agar fleksibel dalam menetapkan sebuah path, sebaiknya kita menggunakan konstanta DIRECTORY_SEPARATOR sebagai format pemisah direktori. Setelah itu kita definisikan sebagai DS agar lebih singkat. Kemudian mendefinisikan BASE_PATH, APPLICATION_PATH, CONFIG_PATH dan APPLICATION_ENV. Untuk aplikasi contoh ini, APPLICATION_ENV langsung saya set menjadi "production". Bisa anda set menjadi "development" manakala aplikasi ini masih dalam tahap Pengembangan. Bisa juga di-set menjadi "testing" manakala aplikasi ini masih dalam tahap Pengujian. APPLICATION_ENV akan saya coba diskusikan lebih detail dengan teman-teman pada pembahasan Zend_Application.

Logika untuk mendapatkan value dari definisi BASE_PATH, APPLICATION_PATH, dan CONFIG_PATH saya yakin teman-teman sudah pada mengerti konsepnya. Jika disimulasikan dari komputer saya, maka :

DS = ‘\’
BASE_PATH = ‘C:\Program Files\Apache Software Foundation\Apache2.2\htdocs’
APPLICATION_PATH = ‘C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application’
CONFIG_PATH = ‘C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\etc’

Kita memerlukan file 'library/Zend/Application.php' agar bisa menggunakan class Zend_Application. Pertama-tama file tersebut harus di-load oleh sistem, maka pada index.php kita harus secara eksplisit menyertakannya dengan sintaks require_once. Zend_Application adalah central class dari setiap aplikasi web yang dibangun dengan Zend Framework.

Selanjutnya yang harus kita lakukan adalah membuat sebuah Class Object yang diberi label $application. Class Object $application merupakan Class Object Zend_Application yang telah di-create dengan sintaks new.

$application = new Zend_Application(
                   APPLICATION_ENV,
                   CONFIG_PATH . DS . 'config.ini'
               );

Untuk inisialisasi, Zend_Application memerlukan parameter APPLICATION_ENV dan path dari file konfigurasi global. Apa saja yang dikerjakan oleh Class Object Zend_Application pada saat inisialisasi ? Akan saya coba share di pembahasan Zend_Application.

Kemudian Class Object $application melakukan bootstrap dan setelah itu aplikasi dijalankan (run). Apa saja yang terjadi pada saat Bootstrap dan pada saat aplikasi dijalankan? Akan saya coba share di pembahasan berikutnya. Pokoknya step by step.

Tiada gading yang tak retak, Tiada manusia yang tak punya khilaf.

To be continued

No comments:

Post a Comment