Hai teman teman jagocoding.com..
Ini adalah artikel pertama saya di jagocoding.com, dan sesuai judulnya, saya ingin mengajak teman - teman berkenalan dengan Zend Framework 1.
Biasanya saat saya mengajar atau merekomendasikan sebuah framework PHP pada teman - teman saya, Zend Framework selalu masuk sebagai salah satu framework yang saya rekomendasikan, dan selalu muncul pertanyaan yang sama dari teman - teman saya : Mengapa Zend Framework?
Jawabannya bisa beragam, karena penggunaan framework juga biasanya disesuaikan dengan ukuran dan kompleksitas proyek. Namun di samping itu semua, alasan saya merekomendasikan Zend antara lain :
- Zend Framework didukung oleh Zend, yang merupakan perusahaan yang didirkan oleh beberapa core developer PHP (Andy Gutmans dkk.), yang mana Zend sampai saat ini masih menjadi salah satu kontributor utama dalam pengembangan PHP.
- Pustaka yang lengkap dan banyak (ini kadang malah disebut sebagai kekurangan karena dengan pustaka yang amat banyak, ukuran framework menjadi besar)
- Komponen pustaka yang dapat dibongkar pasang, sehingga dimungkinkan untuk menggunakan satu atau lebih library Zend bersama dengan framework lainnya.
- Modular, di mana pengelompokkan aplikasi dapat dilakukan per modul sehingga file lebih terstruktur dan rapi.
- 100% kode ditulis dengan pendekatan object-oriented, sehingga mengoptimalkan efisiensi kode.
Nah, itu adalah beberapa kelebihan yang saya rasakan dari pengembangan aplikasi menggunakan Zend Framework. Mungkin teman - teman akan menemukan juga hal menarik lainnya nanti dalam menggunakan Zend Framework.
Zend Framework kini telah sampai pada versi 2, yang masih terus dikembangkan. Namun untuk tutorial kali ini, saya akan membahas mengenai Zend Framework 1 terlebih dahulu.
Ok, mungkin sekilas dulu teorinya. Kalau gitu kita langsung masuk ke Labnya.
1. Download Zend Framework
Untuk teman - teman yang belum memiliki Zend Framework 1, teman - teman dapat mendownload versi terbaru dari Zend Framework 1 di https://packages.zendframework.com/releases/ZendFramework-1.12.7/ZendFramework-1.12.7.zip (32.9 MB), atau jika merasa kebesaran, teman - teman juga dapat mendownload versi langsing nya di :
https://packages.zendframework.com/releases/ZendFramework-1.12.7/ZendFramework-1.12.7-minimal.zip
Setelah download selesai, silakan teman - teman dapat mengekstrak hasil download ke manapun tempat teman - teman ingin menyimpannya.
[IMG]http://i57.tinypic.com/sw7otv.png[/IMG]
2. Instalasi Zend Tool
Nah, setelah proses ekstrak selesai, langkah selanjutnya adalah menginstal Zend Tool. Apa itu Zend Tool? Zend Tool adalah aplikasi berbasis command line yang berguna untuk mempermudah dalam mengelola proyek dalam Zend Framework 1. Dengan Zend Tool, pembuatan proyek baru, model, view, controller, layout, form, dan lainnya dapat dilakukan dari command prompt, sehingga akan menghemat banyak waktu jika dibandingkan membuat file dan folder secara manual.
Instalasi Zend Tool cukup sederhana. Silakan teman - teman buka folder hasil ekstrak Zend Framework tadi, lalu masuk ke folder bin, tempat di mana kalian akan menemukan 4 buah file sbb :
[IMG]http://i59.tinypic.com/j08efk.png[/IMG]
Untuk instalasi di sistem operasi Windows, silakan teman - teman copy zf.bat dan zf.php dari folder bin, lalu paste ke lokasi php.exe kalian.
Contoh, kalau teman - teman menggunakan XAMPP, maka copy kedua file tersebut ke C:\xampp\php\
[IMG]http://i60.tinypic.com/iwr728.png[/IMG]
Nah, kalau teman - teman pengguna sistem operasi Linux, caranya mirip, hanya saja yang dicopy adalah zf.sh dan zf.php, lalu paste ke lokasi php.exe.
Dan voilaaa... Instalasi Zend Tool sudah selesai. Untuk mencobanya, teman - teman dapat membuka command line baru, lalu ketikkan perintah : zf show version
[IMG]http://i62.tinypic.com/o6mvxf.png[/IMG]
Jika hasilnya sudah muncul, maka instalasi Zend Tool telah berhasil dilakukan.
3. Siapkan IDE / Text Editor Favoritmu
Untuk mulai membuat aplikasi dengan Zend Framework 1, maka disarankan menggunakan IDE yang telah terintegrasi dengan Zend Framework. Jika teman - teman memiliki budget lebih, saya sarankan untuk menggunakan Zend Studio (http://shop.zend.com/en/zend-studio-for-eclipse.html). Zend Studio memberikan dukungan untuk pengembangan aplikasi dengan Zend Framework (baik Zend Framework 1 maupun 2), serta dukungan deployment ke Zend Server (http://shop.zend.com/en/zend-developer-solutions.html), yang merupakan paket web server yang telah dibundle sedemikian rupa oleh Zend.
Namun jika ingin yang free, saya sarankan teman - teman menggunakan Eclipse PDT (https://www.eclipse.org/pdt/) ataupun NetBeans (https://netbeans.org/downloads/).
Dalam tutorial kali ini, saya menggunakan IDE NetBeans versi 7.3.1.
Kenapa saya sarankan menggunakan ketiga tools di atas? Alasannya adalah kemampuan autocompletion yang disediakan oleh ketiga tools di atas (tapi sudah ada juga tools lain yang menyediakan autocompletion untuk Zend, jadi silakan pakai yang teman - teman suka).
4. Project Pertama di Zend Framework
Ok. Semua peralatan tempur kita sudah lengkap. Berikutnya kita akan mencoba membuat proyek baru menggunakan Zend Tool.
Silakan buka command line teman - teman, lalu masuk ke direktori web application (misal : C:\xampp\htdocs).
[IMG]http://i60.tinypic.com/2ii75t0.png[/IMG]
Ketikkan perintah : zf create project zf-jagocoding-1 lalu tekan enter
[IMG]http://i62.tinypic.com/f3z5fd.png[/IMG]
Jika sudah berhasil, maka akan muncul folder zf-jagocoding-1 di C:\xampp\htdocs teman - teman
[IMG]http://i59.tinypic.com/287pzlv.png[/IMG]
Nah, sampai di sini selesai sudah pembuatan project baru menggunakan Zend Tool. Mari kita coba di browser (jangan lupa nyalakan web server teman - teman dulu ya). Silakan akses localhost:[port_anda]/zf-jagocoding-1/public
[IMG]http://i62.tinypic.com/zkpawn.png[/IMG]
Lhooooo.. Kok error? Tenang gan.. emang harusnya error, karena ada 1 langkah yang miss. Untuk dapat menjalankan aplikasi Zend Framework, maka library Zend harus tersedia di lokasi yang dapat diakses oleh aplikasi. Library Zend terdapat pada folder tempat anda menyimpan hasil download Zend Framework sebelumnya.
Masuk ke folder tersebut, lalu masuk ke folder library, maka Anda akan menemukan folder Zend. Nah inilah yang kita perlukan. Copylah folder Zend tersebut.
Ada 2 pilihan tempat untuk meletakkan folder Zend tersebut :
1. Folder library di dalam aplikasi. Kalau di tutorial ini, lokasinya di C:\xampp\htdocs\zf-jagocoding-1\library
2. Folder PEAR di dalam folder PHP. Kalau di tutorial ini, lokasinya di C:\xampp\php\pear
Bedanya apa? Jika mengikuti pilihan 1, maka library akan dikenali pada level aplikasi. Dengan demikian, setiap kali membuat aplikasi / project baru, maka kita harus copy ke dalam folder library tiap project. Namun jika menggunakan pilihan 2, maka kita cukup 1 kali mengcopy folder Zend, karena secara default aplikasi akan mencari library ke folder PEAR. (jika di PEAR tidak ditemukan, barulah aplikasi akan mencari ke folder library).
[IMG]http://i61.tinypic.com/nx4d9z.png[/IMG]
Kita akan menggunakan langkah 2. Silakan paste folder Zend yang telah dicopy ke C:\xampp\php\pear, lalu silakan akses aplikasi lagi melalui browser.
[IMG]http://i57.tinypic.com/mkcbbb.png[/IMG]
Dan voilaaaa... Kita telah berhasil membuat proyek Zend Framework baru menggunakan Zend Tool.
5. Membedah Struktur Zend Framework
Mirip seperti framework lainnya, Zend Framework menggunakan format base_url/public/controller_name/action_name dan default controller dan action name adalah index. Dengan demikian dapat disimpulkan, halaman default aplikasi kita adalah localhost:port_anda/zf-jagocoding-1/index/index.
Untuk membedah lebih jauh, mari kita lihat dengan NetBeans. Silakan buka NetBeans, lalu pilih File -> New Project
Pastikan kategori proyek adalah PHP, dan proyek adalah PHP Application with Existing Resources.
[IMG]http://i59.tinypic.com/121vhjb.png[/IMG]
Lalu klik Next dan isikan lokasi tempat kita membuat proyek baru : C:\xampp\htdocs\zf-jagocoding-1
[IMG]http://i60.tinypic.com/2cfeij7.png[/IMG]
Lalu klik Finish.
Kalau kita perhatikan, di daftar project sebelah kiri, project baru kita sudah terdaftar.
[IMG]http://i62.tinypic.com/302ujgj.png[/IMG]
Untuk membuktikan ada controller yang namanya index dan di dalamnya ada action yang namanya index, maka mari kita buka Source Files di project kita di NetBeans, dan kita expand strukturnya.
[IMG]http://i60.tinypic.com/23w8q6a.png[/IMG]
Terlihat bahwa ada file bernama IndexController.php di folder application/controllers. Bukalah file tersebut.
<?php class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } }
Nah, terlihat bahwa memang ada action yang namanya index. Di Zend Framework, setiap action diakhiri dengan kata Action.
Secara default, Zend membuatkan 2 buah controller untuk kita, yaitu IndexController dan ErrorController.
Lalu di mana letak tampilannya? Ya betul, tampilannya ada di folder view aplikasi. Silakan masuk ke application/views/scripts di NetBeans dan lihat bahwa ada 2 folder, yaitu error dan index. Struktur view di Zend dikelompokkan berdasarkan controller nya, dan di dalam folder tersebut terdapat file berformat .phtml (dapat dilakukan pemrograman PHP dan HTML seperti biasa di dalamnya) yang namanya sesuai dengan action di tiap controller. Silakan buka application/view/scripts/index/index.phtml
<style> a:link, a:visited { color: #0398CA; } span#zf-name { color: #91BE3F; } div#welcome { color: #FFFFFF; background-image: url(http://framework.zend.com/images/bkg_header.jpg); width: 600px; height: 400px; border: 2px solid #444444; overflow: hidden; text-align: center; } div#more-information { background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif); height: 100%; } </style> <div id="welcome"> <h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1> <h3>This is your project's main page</h3> <div id="more-information"> <p><img src="http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p> <p> Helpful Links: <br /> <a href="http://framework.zend.com/">Zend Framework Website</a> | <a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a> </p> </div> </div>
Nah, terlihat kan misteri munculnya halaman awal kita. :D
Lalu untuk penyimpanan asset (gambar, css, js, dsb) dapat kita simpan di folder public (selevel dengan folder application), yang dalam tutorial ini terdapat di : C:\xampp\htdocs\zf-jagocoding-1\public. Dalam tutorial selanjutnya, akan kita bahas lebih lanjut fungsionalitas dan struktur Zend Framework.