Behind the Site
The main Zend Framework website is powered by Zend Framework and PHP. We also use Confluence and JIRA for the community wiki and issue tracker, respectively. While these developer tools are implemented in Java, we have taken advantage of several integration points to surface data from these tools on the main site. Read on to find out exactly which Zend Framework components we've used to put our site together.
- Zend_Controller - Zend_Controller is the heart of Zend Framework's Model/View/Controller (MVC) implementation. It features a flexible helper and plugin architecture that supports customization of the workflow at multiple points in the application. We use Zend_Controller to dispatch almost all page requests for the site.
-
Zend_View and Zend_Layout - Zend_View is the 'V' in Zend
Framework's MVC architecture. Zend_Layout is a decorator for Zend_View
that implements the 'Two Step View' pattern to provide sitewide layouts.
The site makes extensive use of Zend_View placeholder helpers to communicate with the site layout, as well helpers for formatting search results and other tasks. The consistent look and feel of the site is largely due to Zend_Layout. -
Zend_Form - Zend_Form provides an flexibile solution for
building forms; each element in a form contains all logic and
data it needs for validation, filtering, and rendering.
All forms on the site, including the search and 'contact us' forms, are built using Zend_Form. -
Zend_Search_Lucene - Lucene is a search indexing and querying technology
originally implemented in Java; Zend_Search_Lucene is a PHP implementation of
Lucene that reads, creates, updates, and queries against binary-compatible Lucene
indexes. We have built an indexing search spider utilizing Zend_Search_Lucene to
index the reference manual.
Additionally, the various Java-based developer tools index their content using the Java implementation of Lucene, and our sitewide search uses those indices to provide search results on the main site. This all comes together in the 'site wide' search to provide comprehesive results from all content on the Zend Framework site. - Zend_Cache - A simple & flexible component we've used to to make the site as responsive as possible. Zend_Cache includes support for multiple back-end and front-end caching solutions, in addition to tagging, iterating, manipulating, & removing subsets for our cached data. We use it to cache full pages, as well as search results.
-
Zend_Config - While Zend Framework itself requires no configuration,
we've opted to use extensive configuration for our site to easily deploy it
in multiple environments.
Zend_Config provides a few backends for configuration storage, as well as a simple, intuitive, object-oriented interface for accessing these configuration stores. We happen to keep our configuration files in 'ini' format. - Zend_Feed - Zend_Feed can enable an applicaton to both consume and build RSS and Atom feeds. We use it on the site to pull in news from the Zend Developer Zone on our home page.
- Zend_Mail - Zend_Mail allows you to dynamically and programmatically create and send email. Our contact forms use Zend_Mail to send us your feedback.
