From fc38326ea80e73717fb1d187a16421f7bc1b1b04 Mon Sep 17 00:00:00 2001
From: xue <>
Date: Sun, 16 Apr 2006 03:54:42 +0000
Subject: Merge from 3.0 branch till 918.
---
.../protected/pages/GettingStarted/Upgrading.page | 31 ++++++++++++++--------
1 file changed, 20 insertions(+), 11 deletions(-)
(limited to 'demos/quickstart/protected/pages/GettingStarted/Upgrading.page')
diff --git a/demos/quickstart/protected/pages/GettingStarted/Upgrading.page b/demos/quickstart/protected/pages/GettingStarted/Upgrading.page
index cb89cb10..287d3f84 100644
--- a/demos/quickstart/protected/pages/GettingStarted/Upgrading.page
+++ b/demos/quickstart/protected/pages/GettingStarted/Upgrading.page
@@ -1,8 +1,7 @@
PRADO v3.0 is NOT backward compatible with earlier versions of PRADO.
Upgrading from Earlier Versions
+Upgrading from v2.x and v1.x
-Upgrading from v2.x and v1.x
-We summarize in the following the most significant changes in v3.0 to help developers upgrade their v2.x and v1.x PRADO applications more easily. +We summarize in the following the most significant changes in v3.0 to help developers upgrade their v2.x and v1.x PRADO applications more easily, if needed.
--Version 3.0 has completely discarded the need of component specification files. It relies more on conventions for defining component properties and events. In particular, a property is defined by the existence of a getter method and/or a setter method, while an event is defined by the existence of an on-method. Property and event names in v3.0 are both case-insensitive. +Version 3.0 has completely discarded the need of component specification files. It relies more on conventions for defining component properties and events. In particular, a property is defined by the existence of a getter method and/or a setter method, while an event is defined by the existence of an on-method. Property and event names in v3.0 are both case-insensitive. As a consequence, developers are now required to take care of type conversions when a component property is being set. For example, the following code is used to define the setter method for the Enabled property of TControl, which is of boolean type, +
++where TPropertyValue::ensureBoolean() is used to ensure that the input value be a boolean. This is because when the property is configured in template, a string value is passed to the setter. In previous versions, PRADO knows the property type based on the component specification files and does the type conversion for you.
-Application controller now implements a modular architecture. Modules can be plugged in and configured in application specifications. Each module assumes a particular functionality, and they are coordinated together by the application lifecycle. The concept of v2.x modules is replaced in v3.0 by page directories. As a result, the format of v3.0 application specification is also different from earlier versions.
--Pages in v3.0 are organized in directories which may be compared to the module concept in v2.x. Pages are requested using the path to them. For example, a URL index.php?page=Controls.Samples.Sample1 would request for a page named Sample1 stored under the [BasePath]/Controls/Samples directory, where [BasePath] refers to the root page path. The file name of a page template must be ended with .page, mainly to differentiate from templates of non-page controls whose file names must be ended with .tpl. +Pages in v3.0 are organized in directories which may be compared to the module concept in v2.x. Pages are requested using the path to them. For example, a URL index.php?page=Controls.Samples.Sample1 would be used to request for a page named Sample1 stored under the [BasePath]/Controls/Samples directory, where [BasePath] refers to the root page path. The file name of a page template must be ended with .page, mainly to differentiate page templates from non-page control templates whose file names must be ended with .tpl.
-Version 3.0 redefines the relationships between controls. In particular, the parent-child relationship now refers to the enclosure relationship between controls' presentation. And a new naming-container relationship is introduced to help better manage control IDs. For more details, see the controls section.
-The syntax of control templates in v3.0 remains similar to those in earlier versions, with many enhancements. A major change is about the databinding expression. In v3.0, this is done by the following,
@@ -44,7 +53,7 @@ The syntax of control templates in v3.0 remains similar to those in earlier vers Expression and statement tags are also changed similarly. For more details, see the template definition section. -Themes in v3.0 are defined like control templates with a few restrictions.
-- cgit v1.2.3