# PRADO Framework for PHP 5

Version 3.1.7, February 22, 2010
Copyright© 2004-2010 by Prado Software
All Rights Reserved.

PRADO is a component-based and event-driven framework for Web application development in PHP 5.

PRADO is best suitable for creating Web applications that are highly user-interactive. It can be used to develop systems as simple as a blog system to those as complex as a content management system (CMS) or a complete e-commerce solution. Because PRADO promotes object-oriented programming (OOP) through its component-based methodology, it fits extremely well for team work and enterprise development. Its event-driven programming pattern helps developers gain better focus on business logic rather than distracted by various tedious and repetitive low-level coding handling.

PRADO comes with many features that can cut down development time signficantly. In particular, it provides a rich set of pluggable Web controls, complete database support including both active record and complex object mapper, seamless AJAX support, theme and skin, internationalization and localization, various caching solutions, security measures, and many other features that are seldom found in other programming frameworks.

Developers who have sufficient OOP experience will find PRADO is easy to learn and understand. In fact, PRADO shares many similarities with ASP.NET and other RAD kits for Windows GUI development, such as Borland Delphi and Microsoft Visual Basic.

## Requirements

The sole requirement for PRADO is PHP 5.1.0 or higher. Please run requirement checker to obtain more detailed requirement information.

PRADO has been tested with Apache 2.0 on both Windows XP and RedHat Linux.

## Installation

After downloading the latest PRADO release file, unpack it to a Web-accessible directory. The installation is done! You will see the following subdirectories:

- framework - contains the core code of PRADO. This is the only directory that you will need in order to deploy with your PRADO application. It does NOT need to reside in a Web-accessible directory.
- demos - contains PRADO demo applications.
- docs - contains tutorials and documentation about PRADO.
- editors - contains editor plugins for PRADO.
- requirements - contains a requirement checker script that can check if your system can run PRADO applications.
- tests - contains test tools that can be used to do unit test and functionality test about Web applications.

## Included Demos

- Hello World
- PRADO Blog Tutorial (a good start point for new PRADO users)
- PRADO QuickStart Tutorial (a definitive PRADO guidance. It contains many small examples.)
- PRADO Blog (requires php_sqlite extension)
- Time Tracker (requires php_pdo and php_pdo_mysql extensions)
- PRADO Component Writer
- Chat (requires php_pdo and php_pdo_sqlite extensions)
- Currency Converter
- SOAP (requires php_soap extension)
- Personal Website
- Flex Addressbook (requires php_soap, php_pdo and php_pdo_sqlite extensions)
- Northwind database (requires php_pdo and php_pdo_sqlite extensions)

## Editor Support

A Macromedia Dreamweaver extension can be found under editors/Dreamweaver. This extension contains a tag library that enables Dreamweaver to auto-complete PRADO component tags when you use it to edit PRADO templates.

## Documentation

- Integrated manual (CHM), including quickstart, API, class docs and wiki
- Quickstart tutorial (PDF)
- API documentation (HTML)
- SQLMap PHP DataMapper Tutorial (PDF)

## Credits

### Prado v3 Developer Team

- Qiang Xue
- Xiang Wei Zhuo
- Jason Ragsdale
- Carl Mathisen
- Knut Urdalen
- Christophe Boulain
- Michael Härtl
- Eirik Hoem
- Yves Berkholz
- Ole Helgesen

### Translations

- Indonesian: Zaenal Mutaqin
- French: Eric Marchetti
- Japanese: Yoshinari Ueyama, Shinya Kawamura, Tsuchimoto Hiroki

### Prado v2 Maintenance Team

- Rodolfo Gonzales
- Warren Konkel
- John Navratil

### Past Team Members

- Marcus Nyeholt
- Alban Hanry
- Alex Flint
- Brian Luft
- Todd Patrick
- Pim van der Zwet
- Tim Evans
- John Teague

### Special Credits To

- Stever for providing an Apple G3 notebook for testing safari browser issues.
- Stanislav Yordanov - the script of generating Dreameweaver extension for PRADO
- Andres Adolfo Testi - original concept and naming for Active Controls.
- Jack Slocum - inspiration for the quickstart commenting system.
- Cesar Ramos - Active Record driver for IBM DB2.
- Sergey Morkovkin - TKeyboard control
- Tomasz Wolny - TTabPanel control
- All PRADO users - great suggestions, feedback and support
- ASP.NET 2.0 for its great inspiration and reference
- All third-party work used in PRADO

## License

The PRADO framework and the included demos are free software. They are released under the terms of the following BSD License.

Copyright 2004-2010 by The PRADO Group (http://www.pradosoft.com)
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the PRADO Group nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.