PRADO version for package
Preparing directory structure
Preparing Code Coverage Database
Running Unit Tests
Creating Unit Test Report
Creating Code Coverage Report
Cleaning up after last build
Creating directory layout...
Creating directory layout...
Creating PEAR package.xml...
Features and Changes in v3.0a
Things not availabe in v3.0a yet:
- Active controls
- TWizard
- THtmlArea
- TDatePicker
- TDataGrid and TDataList need more tests
- TAdodb and AdoDB no longer included in release
Component and Control Definition
- component spec file discarded, replaced with
getter and setter for property definitions
- subproperty support (e.g. Font.Size="20pt")
- enhanced event binding syntax besides the
existing one (e.g. $control->Click=$callback;
or $control->Click[0]=$callback;)
- relationship change between controls, now
with parent-child (presentational) and
naming container-containee relationships.
- enhanced control id management and rendering
(the rendered IDs are much shorter now)
- Master/content support to template controls.
- Support for assets (publishing of private files and directories)
- Enhanced collection classes
- All controls are completely rewritten with new
features and new controls.
Template Syntax Enhancement
- new special tags to facilitate template writing
(more details are covered in quickstart demo)
- component can now be specified in a namespace
format (e.g.
- Enhanced template parsing error report (now with
line number and error reason.
Pages
- Pages are organized in folders. Each folder can
have a specific configuration file applied to pages
in that folder and below (this replaces the previous
v2 module concept).
- Support for "classless" pages.
- Enhanced page lifecycles (close to asp.net 2.0 page lifecycles)
- Enhanced theme/skin support (now support css, js and image files)
- Output is now XHTML-compliant
- Enhanced JavaScript support
Application
- Introduces a module-based architecture. Modules accomplish
all application functionality. Users can plug in their
own modules.
- Integrated support to pluggable services.
- Generic cache support with TMemCache and TSqliteCache provided
- Generic logging support with TLogRouter and different
TLogRoute implementation.
- Customizable error handling with support for internationalization.
- Complete request, response, session, cookie classes
- Application-level persistent state support
- A new flexible auth framework provided
- Parameters can be components now
PRADO is a component-based and event-driven framework for rapid Web programming in PHP 5.
PRADO reconceptualizes Web application development in terms of components, events and properties instead of procedures, URLs and query parameters.
A PRADO component is a combination of a specification file (in XML), an HTML template and a PHP class. PRADO components are combined together to form larger components or complete PRADO pages.
Developing PRADO Web applications mainly involves instantiating prebuilt and application-specific component types, configuring them by setting their properties, responding to their events by writing handler functions, and composing them into application tasks. Event-driven programming
PRADO provides the following benefits for Web application developers:
* reusability - Codes following the PRADO component protocol are highly reusable. Everything in PRADO is a reusable component.
* ease of use - Creating and using components are extremely easy. Usually they simply involve configuring component properties.
* robustness - PRADO frees developers from writing boring, buggy code. They code in terms of objects, methods and properties, instead of URLs and query parameters. The latest PHP5 exception mechanism is exploited that enables line-precise error reporting.
* performance - PRADO uses a cache technique to ensure the performance of applications based on it. The performance is in fact comparable to those based on commonly used template engines.
* team integration - PRADO enables separation of content and presentation. Components, typically pages, have their content (logic) and presentation stored in different files.
Validating package.xml
Creating tar.gz package...
Cleaning up the mess