Behind the Site
Our new Zend.com website is powered by the following:
Zend Platform 3 Enterprise Server
Zend Platform is the only application server for PHP that supports the performance, management, integration and enterprise scalability requirements of organizations using PHP for their business-critical applications. Learn more
We are using Zend Platform for the following:
- Acceleration via opcode caching - Zend Platform provides an excellent opcode cache for PHP code that can speed up response times.
- Dynamic content caching - Zend Platform offers the ability to cache entire pages based on URLs, or via partial content caching using its API. We are doing partial content caching throughout the site to meet our goal of reducing response times while simultaneously providing an individualized user experience.
- Monitoring - We have configured Zend Platform to monitor a variety of PHP events, so that we can respond pro-actively to bugs and performance bottlenecks on the site.
- Zend Download Server - Zend Platform can intercept calls to files that are larger than a given, configurable size, offloading those calls directly to Apache to boost performance.
Zend Core
Zend Core is the leading production-quality managed PHP 5 stack that provides certified, enhanced capabilities with the support and services that serious professionals need for PHP development and production. Learn more
- PHP 5.2 - The fastest, most robust and reliable PHP version available. Zend certifies that this version is optimum for production environments. PHP 5 supports object-oriented programming, easy web services and XML, and much more.
- Apache 2.2 - The most popular Internet web server.
- MySQL 5.0 - The MySQL® database has become the world's most popular open source database because of its consistently fast performance, high reliability, and ease of use. It's used in more than 11 million installations ranging from large corporations to specialized embedded applications on every continent in the world. Zend Core Includes a binary redistribution of the latest version of MySQL Community Edition for superior performance and a simplified install process.
Zend Framework
Zend Framework is the backbone of our PHP-based Zend.com site now. Extending the art and spirit of PHP, Zend Framework is based on simplicity, object-oriented best practices, business friendly licensing, and a rigorously
tested agile codebase all focused on the challenges of building more secure, reliable, and modern Web 2.0 applications and web services.
It has eliminated the tedious details of our PHP coding and let us focus on the big picture design of our site—as a result we got our application done much sooner than we would have expected. Zend Framework’s strength is in its flexible, highly-modular design with support for MVC, making our code more reliable, reusable, and easier to maintain. Learn more
The following components are being used by us:
- Zend_Cache - a simple & flexible component we’ve used to speed up access to our data and includes support for multiple back-end and front-end caching solutions (we use Zend Platform as our back-end, see below), as well as tagging, iterating, manipulating, & removing subsets for our cached data.
- Zend_Config - While Zend Framework itself is configuration-less, it's often necessary to have some way to specify configurable options. Zend_Config provides multiple backends for configuration storage, and a simple, intuitive, object-oriented interface for accessing it. We store configuration as simple PHP arrays, which are then wrapped by Zend_Config.
- Zend_Controller - Zend_Controller is the heart of Zend Framework's MVC (Model - View -Controller) implementation. It features a flexible helper and plugin architecture that allows customization of the workflow at multiple points in the application. This site utilizes many of these for everything from querying web services to verifying access rights.
- Zend_Db and Zend_Db_Table - Zend_Db_Table is a classic implementation of both the Table Data Gateway and Row Data Gateway design patterns, allowing for easy and intuitive access to database tables and rows, as well as an entry point for custom business logic surrounding our data.
- Zend_Feed - Zend_Feed allows both consuming and building RSS and Atom feeds. We use it on the site to pull in news from the Zend Developer Zone, as well as to build our own RSS feeds.
- Zend_Http_Client - To aid migration of existing PHP 4-only site content, we have created a proxy utilizing Zend_Http_Client, allowing us to serve that content within the new site layout, as well as to share authentication between the two.
- Zend_Search_Lucene - Lucene is a search indexing technology originally written in Java; Zend_Search_Lucene is a PHP implementation that reads and creates binary-compatible Lucene indexes. We have built an indexing search spider utilizing Zend_Search_Lucene, as well as a frontend to that index.
- Zend_View_Interface - Zend_View is the 'V' in Zend Framework's MVC architecture. One key strength it provides is the ability to allow varying implementations for different template engines. This site uses this feature to wrap a custom version of Smarty as its view layer.
- Zend_XmlRpc - Web services are an integral part of Zend Framework, and it features a number of web service consumers as well as servers. This site both creates and consumes XML-RPC services utilizing Zend_XmlRpc.
iBuildings.nl Web Development Environment (WDE)
Zend's Content Management System (CMS) is built upon iBuildings.nl's WDE. iBuildings and Zend are collaborating to migrate their WDE-based CMS to PHP 5 and Zend Framework, and may in time release it back to the development community at large.
Smarty Template Engine
Smarty is a template engine for PHP, designed to facilitate clear separation of application code from the presentation layer of a site. It has a large user base and widespread acceptance in the PHP community.
The content management system used for Zend.com has a slightly modified version of Smarty, around which we have implemented an interface compatible with Zend Framework's Zend_View component.