Tuesday, April 12, 2011

Zend Framework : Konfigurasi dengan Zend_Config (Article #3)

firman.efendi@gmail.com

Sebelum membaca artikel ini, sebaiknya rekan-rekan PHPer membaca kembali pembahasan kita sebelumnya tentang Zend Framework, yaitu artikel yang berjudul Zend Framework : Mari membuat aplikasi web sederhana (Article #2) 

Pada file index.php kita akan menemui baris kode seperti berikut :

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

Pertama kali yang dilakukan adalah membuat sebuah Class Object yang diberi label $application. Class Object $application merupakan Class Object Zend_Application yang telah di-create dengan sintaks new.

Untuk inisialisasi, Zend_Application mengambil nilai APPLICATION_ENV dan path file konfigurasi sebagai parameternya. Apa saja yang dikerjakan oleh Class Constructor Zend_Application pada saat inisialisasi ? Berikut ini adalah kode programnya. FYI, versi Zend Framework yang saya gunakan dalam contoh ini adalah 1.10.0


(Klik screenshot untuk Zooming)

Class Constructor diatas menerima 2 parameter, yaitu $environment dan $option, dimana nilai default $option adalah null. Dengan demikian, sebuah aplikasi tidak mesti/kudu/harus memiliki konfigurasi. Saya akan coba jelaskan baris kode diatas dengan sederhana.

Line 78 :
Parameter APPLICATION_ENV akan di simpan dalam object property $_environment. Nilai APPLICATION_ENV untuk contoh aplikasi ini adalah 'production'. Anggap saja aplikasi yang kita bahas sekarang telah berada pada fase 'production'. Object property $_environment memiliki peranan yang besar dalam menentukan konfigurasi seperti apakah yang akan dipakai pada saat aplikasi sedang running. Silahkan merujuk ke subtitle Inheritance in Configuration untuk penjelasan yang lebih rinci.

Line 80-81 :
Autoloader diaktifkan. Autoloader merupakan komponen dasar dalam praktek OOP (Object Oriented Programming) di Zend Framework.
Setelah membahas Zend Config kita akan membahas Zend Loader untuk menjelaskan fungsi dan peran Autoloader.

Line 83-92 :
Pada baris kode ini akan terjadi proses pengolahan data konfigurasi yang pertama kali. Catatan : parameter $option harus berbentuk string, atau object Zend_Config, atau array. Jika parameter berbentuk string, maka nilai dari parameter tersebut adalah path dari file konfigurasi. File konfigurasi yang diizinkan adalah yang berekstensi .ini, .xml, .php, .inc !
Pada aplikasi web yang sedang kita jadikan contoh saat ini, file konfigurasinya adalah config.ini dan pathnya adalah 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\etc' (lihat artikel #2). So, nilai dari parameter $option (pada contoh ini) adalah 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\application\etc\config.ini'

Inheritance in Configuration