7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. PHP

Zend Framework dari Nol

Read Time: 10 mins

Indonesian (Bahasa Indonesia) translation by Andy Nur (you can also view the original English article)

Siap membawa skill PHP anda ke level selanjutnya? Dalam seri "From Scratch" yang baru ini, kita akan berfokus secara eksklusif pada Zend Framework, framework full-stack PHP yang dibuat oleh Zend Technologies. Pertama di seri tutorial kita, adalah "Memulai dengan Zend Framework."


Pendahuluan: Apa itu Zend Framework?

Zend Framework adalah framework full-stack PHP yang dibuat oleh Zend Technologies. Bagi mereka yang tidak mengenal perusahaan, Zend Technologies menyediakan berbagai tool untuk membantu pengembang web mereka dalam pekerjaannya. Contoh penting adalah Zend Server, server aplikasi web untuk menjalankan dan mengelola aplikasi PHP, dan Zend Studio, IDE berfitur lengkap untuk PHP. Tak perlu dikatakan lagi, Zend sangat diinvestasikan di PHP, itulah sebabnya Zend Framework adalah tool yang hebat untuk ditambahkan ke gudang pengembang manapun.

Zend: The PHP Company

Zend: The PHP Company

Zend Framework terdiri dari banyak library dan class yang berbeda. Ini adalah pedang bermata dua — untuk yang pertama, ini mempermudah pengembang untuk memilih-ceri library jika mereka hanya memerlukan beberapa saja. Kelemahannya adalah bahwa pengaturan framework tidak mudah dilakukan sejak awal karena hanya sekelompok class. Yang telah dikatakan, Zend memang memiliki tool scaffolding dan cara yang disarankan untuk menyiapkan struktur aplikasimu, yang akan kita bahas dalam tutorial khusus ini.

Dalam rangkaian tutorial ini, kita akan menyelam pada bagaimana Zend Framework bekerja dan belajar bagaimana menggunakan komponennya yang berbeda. Pada akhir seri, kita akan membangun situs jejaring sosial baru — lengkap dengan profil dasar, jaringan, pembaruan status, dan bahkan fungsionalitas API. Dan sekarang, tanpa basa-basi lagi, mari kita mulai!


Langkah 1: Download Zend Framework

Pertama dan terutama, kita perlu mendownload Zend Framework. Saat ini, versi terbaru adalah 1.11.11. Untuk memulai, buka situs web Zend Framework http://framework.zend.com dan klik tombol Download Now.

Zend Framework Download Now linkZend Framework Download Now linkZend Framework Download Now link

Tautan Download Now Zend Framework 

Ini akan membawamu ke layar dengan daftar unduhan yang berbeda untuk Zend Framework. Di masa yang akan datang, saat kamu memperbarui library Zend Framework, kamu harus mendownload versi Minimal, yang hanya berisi file ZF. Untuk saat ini, mari kita download Zend Framework 1.11.11 Full, yang berisi library dengan semua demo dan test. Ini juga mencakup tool scaffolding yang akan kita gunakan nanti di tutorial.

Zend Framework download listZend Framework download listZend Framework download list

Daftar download Zend Framework


Langkah 2: Siapkan Lingkungan Kerja Zend Framework-mu

Setelah download selesai, ekstrak file ke desktop-mu agar bisa mendapatkan tampilan yang jelas dari isinya. Di dalam, ada banyak folder, tapi untuk keperluan tutorial ini, kita hanya butuh dua — folder bin dan folder library.

Zend Framework 1.11.11 Full contentsZend Framework 1.11.11 Full contentsZend Framework 1.11.11 Full contents

Demi urusan penyusunan, letakkan folder bin di dalam folder PHP-mu dan ganti namanya menjadi zend-bin. Milik saya adalah D:\Development\PHP, jadi hasil akhirnya seharusnya D:\Development\PHP\zend-bin.

bin folder locationbin folder locationbin folder location

Masuklah ke folder library dan kamu harus mencari folder Zend. Tempatkan ini di dalam include_path PHP-mu. Bagi saya, itu adalah D:\Development\PHP\includes, jadi pindahkan di sana seharusnya menghasilkan D:\Development\PHP\includes\Zend. Ingatlah untuk menyalin folder Zend di dalam folder library, bukan folder library itu sendiri.

Zend folder locationZend folder locationZend folder location

Terakhir, kita perlu mengkonfigurasi tool Zend CLI di dalam folder zend-bin untuk bekerja di direktori manapun. Untuk melakukan ini, kita harus menambahkan direktori ke variabel Path Sistem, jadi kita bisa menelponnya via command prompt.

Klik kanan link Computer di bawah Start untuk membuka jendela System Information. Di sini, klik pada Advanced System Settings.

Windows System InformationWindows System InformationWindows System Information

Di jendela yang terbuka, klik pada tombol Environment Variables. Di jendela baru, cari variabel Path dalam daftar System variabels. Klik Edit dan tambahkan lokasi direktori zend-bin mu di bagian akhir.

Windows System VariablesWindows System VariablesWindows System Variables

Setelah selesai, klik OK untuk menyimpannya.

Untuk memastikan konfigurasi kita bekerja, buka command prompt dan jalankan perintah zf --help. Ini seharusnya menampilkan perintah yang bisa kita gunakan dengan tool Zend CLI. Jika tidak, cobalah me-restart komputermu untuk memastikan bahwa variabel Sistem telah diterapkan.

Testing the ZF CLI toolTesting the ZF CLI toolTesting the ZF CLI tool

Selain itu, ada file zf.sh di dalam folder zend-bin. Ini untuk sistem operasi berbasis Unix seperti OSX atau Linux. Coba atur variabel lingkungan kerja yang sesuai untuk mendapatkan hasil yang sama.


Langkah 3: Buat Proyek Zend Framework Pertamamu

Sekarang, kita mulai pekerjaan pengembangan aktual pada proyek Zend Framework kita. Pada command prompt, masuklah ke direktori tempat kamu ingin meletakkan file proyekmu (idealnya ini adalah direktori tempat server web lokalmu tertuju). Bagi saya, ini adalah D:\Development\htdocs\nettuts, jadi saya akan menjalankan perintah cd D:\Development\htdocs\nettuts pada prompt saya.

Go to your htdocs directoryGo to your htdocs directoryGo to your htdocs directory

Ketik perintah berikut untuk membuat basis proyek Zend Framework: zf create project thenextsocial. Dalam perintahnya, thenextocial adalah nama proyek kita. Saat kamu mulai membuat proyek ZF-mu sendiri, ganti ini dengan nama proyek yang sesuai.

Create your Zend Framework projectCreate your Zend Framework projectCreate your Zend Framework project

Periksa isi folder sekarang — kamu harus melihat folder thenextsocial baru. Di dalam folder, kamu harus melihat beberapa file proyek. Yang terpenting, kamu harus melihat folder public, yang seharusnya merupakan satu-satunya folder yang dapat diakses publik melalui browser. Agar mudah diakses, sekarang kita perlu menyiapkan VirtualHost untuk proyek ini.

The Next Social contentsThe Next Social contentsThe Next Social contents

Untuk mengatur VirtualHost, buka file httpd.conf Apache-mu. Di dalam, tambahkan kode berikut:

Kamu juga perlu menambahkan domain ke file host lokalmu. Untuk pengguna Windows, seharusnya di C:\Windows\System32\Drivers\etc. Untuk pengguna OS berbasis Unix, seharusnya di /etc/hosts. Buka dan tambahkan thenextocial.local dan arahkan ke 127.0.0.1

Hosts file locationHosts file locationHosts file location
Editing the local hosts fileEditing the local hosts fileEditing the local hosts file

Restart server web-mu. Ketika kamu membuka http://thenextsocial.local pada browser-mu, seharusnya sudah mengarah ke proyek Zend Framework-mu.

The Next Social home pageThe Next Social home pageThe Next Social home page

Selamat kamu telah berhasil membuat proyek Zend Framework pertamamu!


Langkah 4: Pelajari Struktur MVC Zend Framework

Apa sebenarnya pattern MVC ini?

Dari pendahuluan awal Zend Framework:

The model-view-controller patternThe model-view-controller patternThe model-view-controller pattern

Pattern model-view-controller (MVC)

Gambar milik http://framework.zend.com

Pola MVC memodelkan pemisahan masalah ini dengan baik.

Jadi, apa sebenarnya pola MVC yang selalu dibicarakan semua orang ini, dan mengapa kamu harus peduli? MVC lebih dari sekadar akronim tiga huruf (TLA) yang bisa kamu serahkan kapan pun kamu ingin terdengar cerdas; Ini telah menjadi sesuatu yang standar dalam perancangan aplikasi web modern. Dan untuk alasan yang baik. Sebagian besar kode aplikasi web termasuk dalam salah satu dari tiga kategori berikut: presentasi, logika bisnis, dan akses data. Pattern MVC memodelkan pemisahan masalah ini dengan baik. Hasil akhirnya adalah bahwa kode presentasimu dapat dikonsolidasikan dalam satu bagian aplikasimu dengan logika bisnismu di kode akses data dan data yang lain. Banyak pengembang telah menemukan pemisahan yang terdefinisi dengan baik ini sangat diperlukan untuk menjaga agar kode mereka tetap teratur, terutama bila lebih dari satu pengembang mengerjakan aplikasi yang sama.

Inti dari hal ini adalah: model mengandung logika bisnis kita, view berisi HTML kita, dan controller menjaga semuanya tetap sesuai dan memberi tahu keduanya view dan model apa yang harus dilakukan.

MVC dalam aplikasi yang didukung Zend Framework

Hal yang baik tentang penggunaan tool ZF CLI adalah secara otomatis menyiapkan aplikasimu untuk memanfaatkan class MVC Zend Framework, yang memungkinkanmu untuk mulai mengerjakan proyekmu lebih cepat.

Kembali ke proyek kita, buka folder thenextsocial/application dan kamu harus melihat —  kamu dapat menebaknya —  folder models, views, dan  controllers.

MVC FoldersMVC FoldersMVC Folders

Di dalam folder ini, buka controllers/IndexController.php dan views/scripts/index/index.phtml. Saat melihat kedua file ini dengan seksama, kamu akan melihat bahwa beranda yang kita lihat di atas (Welcome to Zend Framework) sebenarnya dijalankan oleh kedua file ini. Jadi bagaimana Zend Framework memanggil ini?

Penjelasan routing aplikasi bawaan Zend Framework

Secara bawaan, semua URL pada proyek Zend Framework-mu akan mengikuti format tertentu:

Bawaan lainnya adalah jika controller dan/atau action tidak diberikan, keduanya bawaan untuk index. Jadi memanggil http://thenextsocial.local sebenarnya sama seperti memanggil http://thenextsocial.local/index/index atau bahkan http://thenextsocial.local/index.

Zend Framework default routing cycleZend Framework default routing cycleZend Framework default routing cycle

Siklus routing bawaan Zend Framework

Zend Framework kemudian mengambil nilai controller dan mencarinya di folder controllers, yaitu file IndexController.php kita. Di dalam file controller, dibutuhkan nilai action kita dan mengeksekusi metode tersebut, yaitu indexAction. Setelah tindakan dijalankan di controller, ZF kemudian secara otomatis menampilkan file view di dalam folder views dalam format berikut:

Karena itulah kita melihat halaman Welcome to Zend Framework, karena index.phtml berisi kode HTML untuk halaman ini.


Langkah 5: Mengirim Data Dari Controller ke View

Ini relatif mudah untuk mengirim data dari controller ke view. Setiap objek controller dibuat, secara bawaan, memiliki objek view yang sesuai dengan itu. Akses ke objek view ini dilakukan melalui aksesor $this->view.

Untuk mengirim data ke tampilan, kita cukup memberikan variabel ke objek view dan memberi nilai, seperti:

Kembali ke proyek kita, buka IndexController.php di folder controllers, dan di dalam metode indexAction, mari kirim current date and time ke view kita.

Kita kemudian perlu mengubah view kita untuk menampilkan variabel ini. Untuk melakukannya, buka index.phtml di folder view, dan tambahkan kode berikut:

Seperti yang kamu lihat, mengakses variabel dari dalam file view semudah menampilkan variabel melalui perintah echo PHP, echo $this->variable_name;

Sekarang, refresh browser-mu, dan kamu seharusnya melihat tanggal dan waktu sekarang pada halaman ini.

Passing data from a Controller to the ViewPassing data from a Controller to the ViewPassing data from a Controller to the View

Langkah 6: Membuat Layout di Zend Framework

Kamu mungkin telah memperhatikan bahwa skrip html di proyek kita hanyalah potongan-potongan dan halaman HTML yang tidak lengkap, jadi tidak ada tag html, head, dan body. Ini sebenarnya bukan cacat tetapi dilakukan dengan desain — dengan cara ini, semua action pengembalian konten relatif hanya pada tindakan itu sendiri, bukan keseluruhan aplikasi. Dengan membuat layout global untuk situs kita, kita dapat mengimplementasi kontainer HTML yang konsisten untuk semua skrip HTML kita.

Untuk memulai, kita kembali membuka command prompt kita dan memberikan perintah berikut. Pastikan kamu berada di dalam folder thenextsocial.

Enabling a layout in our Zend Framework projectEnabling a layout in our Zend Framework projectEnabling a layout in our Zend Framework project

Mengaktifkan layout dalam proyek Zend Framework kita

Output setelah menjalankan perintah menunjukkan bahwa sebuah file layout yang disebut layout.phtml telah dibuat di dalam folder application/layout/script. Mari kita buka dan lihat apa yang ada di dalamnya:

layout.phtml contentslayout.phtml contentslayout.phtml contents

Konten layout.phtml

Perintah echo $this->layout()->content; sebenarnya file layout menampilkan semua konten dari tampilan. Untuk membuat layout global kita, kita perlu membungkus perintah ini dengan HTML kita:

Sekarang, refesh kembali browser-mu dan kamu seharusnya melihat perubahannya:

Our index action with accompanying layoutOur index action with accompanying layoutOur index action with accompanying layout

Action index kita dengan layout yang menyertainya


Langkah 7: Membuat Controller dan Action Baru

Dengan menggunakan tool ZF CLI, kita bisa membuat controller baru dan action baru dengan sangat cepat. Untuk melakukannya, jalankan perintah berikut ini:

About adalah nama controller baru kita. Jika kamu periksa di dalam folder controllers, kamu seharusnya melihat file AboutController.php, yang menunjukkan bahwa pembuatan controller kita berhasil. Kamu juga dapat memeriksa isi folder views dan melihat file baru about/index.phtml telah dibuat untuk controller About kita!

Creating our About controllerCreating our About controllerCreating our About controller

Membuat About controller kita

Kita kemudian bisa mengakses controller ini dengan membuka http://thenextsocial.local/about

Secara bawaan, tool ZF CLI membuat satu action untuk controller kita, indexAction. Tetapi bagaimana jika kita ingin menambahkan action lain ke controller?

Membuat action baru

Membuat action baru sama mudahnya dengan membuat controller baru. Untuk melakukannya, jalankan perintah berikut ini:

Ini secara efektif membuat action baru yang disebut us di dalam controller About. Periksa file AboutController.php, kamu seharusnya melihat metode usAction() yang baru, serta file us.phtml baru di dalam folder view about.

Creating our us action in the About controllerCreating our us action in the About controllerCreating our us action in the About controller

Membuat action kita di About controller

Seperti yang kamu lihat, kita sangat bergantung pada tool ZF CLI untuk menghasilkan action dan controller. Secara manual membuat mereka bekerja dengan cara yang sama; tool ZF CLI hanya membuatnya lebih sederhana dan secara otomatis melakukan angkat berat untuk kita.


Kesimpulan

Setelah membaca tutorial ini, kamu seharusnya sudah mengetahui hal berikut:

  • Dimana mendownload file Zend Framework terbaru
  • Dimana dan bagaimana cara mengaturnya secara lokal
  • Membuat proyek Zend Framework pertama dan mengatur VirtualHost di server web-mu
  • Bagaimana sebenarnya Zend Framework mengimplementasikan pattern MVC dan routing aplikasi bawaannya
  • Mengirim data dari controller ke view
  • Membuat layout situs secara luas untuk aplikasi Zend Framework-mu
  • Membuat ccontroller dan action baru

Dari pengetahuan ini, kamu seharusnya dengan mudah bisa membuat halaman web statis. Tetapi kita semua tahu ini tidak cukup!

Pada tutorial kita selanjutnya, kita akan mempelajari semua tentang pembuatan bagian terpenting dari aplikasi web, model, dan pembuatan situs dinamis The Next Social!

Sampai saat itu, nantikan terus!

P.S. Saya sudah mendaftarkan thenextsocial.com untuk keperluan proyek ini. Kunjungi situs ini secara teratur dan kkamu akan melihatnya bertransformasi dari situs sederhana ke situs jejaring sosial berfitur lengkap yang ingin kita dapatkan di akhir seri ini. Selain itu, semua kode sumber yang dibuat dalam seri ini akan tersedia di repositori GitHub ini juga!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Scroll to top
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.