What is PHP, Zend Framework and Cake PHP?

Sunday, 21st February 2010

My first really mini-article will be simply a definition of the 3 topics behind this blog.

PHP is a widely used, general-purpose web scripting language that is embedded into the HTML source document and interpreted by a web-server integrated PHP processor module.

The name "PHP" is a recursive acronym that stands for "PHP Hypertext Preprocessor". PHP code can be also processed by an interpreter application in command-line mode to perform desired operating system operations. It may also function as a graphical application through the integration of a windowing toolkit (like PHP GTK).PHP is available as a processor for most modern web servers and as standalone interpreter on most operating systems and computing platforms.

Zend Framework (ZF) is an open source, object-oriented web application framework implemented in PHP 5. ZF is a use-at-will framework.

There is no single development paradigm or pattern that all Zend Framework users must follow, although ZF does provide components for the (Model View Controller paradigm) MVC, Table Data Gateway, and Row Data Gateway design patterns. Zend Framework provides individual components for many other common requirements in web application development.

CakePHP is an open source web application framework for producing web applications. It is written in PHP and is compatible with PHP 4 and PHP 5.

CakePHP makes it easier for the user to interface with the database with the active record pattern. It also encourages the use of the MVC architectural pattern and provides cool features like integrated CRUD for datasource interaction, application scaffolding, built-in validation, data sanitization, and internationalization and localization, various behaviors, components and helpers to minimize development time, as well as unit testing using the SimpleTest framework.

PHP, Zend Framework and CakePHP are all available through open-source licenses that allow for their free usage (although dontaion is highly recommended to maintain them) and that provide complete access to the source code behind them. More detailed topics pertaining to specific characteristics of these technologies will be provided in future articles.