PRADOTM is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.

History

The very original inspiration of PRADO came from Apache Tapestry. During the design and implementation, I borrowed many ideas from Borland Delphi and Microsoft ASP.NET. The first version of PRADO came out in June 2004 and was written in PHP 4.Driven by the Zend PHP 5 coding contest, I rewrote PRADO in PHP 5, which proved to be a wise move, thanks to the new object model provided by PHP 5.PRADO won the grand prize in the Zend contest, earning high votes both from the public and from the judges' panel.

In August 2004, PRADO was hosted on SourceForge as an open source project. Soon after, the project site xisc.com was announced to public.With the fantastic support of PRADO developer team and PRADO users, PRADO evolved to version 2.0 in mid 2005. In this version, Wei Zhuo contributed to PRADO with the excellent I18 and L10N support.

In May 2005, we decided to completely rewrite the PRADO framework to resolve a few fundamental issues found in version 2.0and to catch up with some cool features available in Microsoft ASP.NET 2.0. After nearly a year's hard work with over 50,000 lines of new code, version 3.0 was finally made available in April 2006.

Starting from version 3.0, significant efforts are allocated to ensure the quality and stability of PRADO. If we say PRADO v2.x and v1.x are proof-of-concept work,we can say PRADO 3.x has grown up to a serious project that is suitable for business application development.

Main Features

  • Object-oriented and highly reusable code
  • Event-driven programming
  • Separation of presentation and logic
  • Configurable and pluggable modular architecture
  • Full spectrum of database support
  • Feature-rich Web components: HTML input controls, validators, datagrid, wizard...
  • AJAX-enabled Web components
  • Built-in support of internationalization (I18N) and localization (L10N)
  • Customizable and localizable error/exception handling
  • Multiway message logging with filters
  • Generic caching modules and selective output caching
  • Extensible authentication and authorization framework
  • Security measures: cross-site script (XSS) prevention, cookie protection...
  • XHTML compliance
  • Rich documentation and strong userbase

Source: Prado