From 9be8859d92e4bbec2462e82457d014f0a0d720db Mon Sep 17 00:00:00 2001
From: xue <>
Date: Mon, 26 Dec 2005 15:54:54 +0000
Subject:
---
.../protected/pages/chap2/KeyConcepts.page | 40 ++++++++++++++++++++--
1 file changed, 38 insertions(+), 2 deletions(-)
(limited to 'demos/quickstart/protected/pages/chap2/KeyConcepts.page')
diff --git a/demos/quickstart/protected/pages/chap2/KeyConcepts.page b/demos/quickstart/protected/pages/chap2/KeyConcepts.page
index 5352d1ff..701633c4 100644
--- a/demos/quickstart/protected/pages/chap2/KeyConcepts.page
+++ b/demos/quickstart/protected/pages/chap2/KeyConcepts.page
@@ -8,7 +8,7 @@ A component is an instance of TComponent
or its child class. The ba
-A property can be viewed as a public variable describing a specific aspect of the component, such as the background color, the font size, etc. A property is defined by the existence of a getter and/or a setter method of a component class. For example, in TControl
, we have
+A component property can be viewed as a public variable describing a specific aspect of the component, such as the background color, the font size, etc. A property is defined by the existence of a getter and/or a setter method in the component class. For example, in TControl
, we have
class TControl extends TComponent { public function getID() { @@ -22,16 +22,52 @@ class TControl extends TComponent { This defines a property namedID
. Reading the property (e.g.echo $component->ID;
) is equivalent to invoking the getter method (e.g.echo $component->getID();
); and writing the property (e.g.$component->ID='Button';
) is equivalent to invoking the setter method (e.g.$component->setID('Button');
).-A property is read-only if it only has a getter method and no setter method. Since PHP method names are case-insensitive, property names are also case-insensitive. +A property is read-only if it has a getter method but no setter method. Since PHP method names are case-insensitive, property names are also case-insensitive. A component class inherits all its ancestor classes' properties.
Component Events
++Component events are special properties that take method names as their values. Attaching (setting) a method to an event will hook up the method to the places at which the event is raised. Therefore, the behavior of a component can be modified in a way that may not be foreseen during the development of the component. +
++A component event is defined by the existence of an
on
-method. For example, inTButton
, we have ++class TButton extends TWebControl { + public function onClick($param) { + ... + } +} ++This defines an event namedClick
, and a handler can be attached to the event using one of the following ways, ++$button->Click=$callback; +$button->Click->add($callback); +$button->Click[]=$callback; +$button->attachEventHandler('Click',$callback); ++where$callback
refers to a valid PHP callback (e.g. a function name, a class methodarray($object,'method')
, etc.) +Controls
A control is an instance of class
+TControl
or its subclass. A control is a component defined in addition with user interface. The base classTControl
defines the parent-child relationship among controls which reflects the containment relationship among user interface elements.Parent-Child Relationship
++A parent control is in charge of the state transition of its child controls. The rendering result of the child controls are usually used to compose the parent control's presentation. +
++The parent-child relationship is usually established by the framework via templates. In code, you may explicitly specify a control as a child of another using the following method, +
+$parent->Controls->add($child); ++where the propertyControls
refers to the child control collection of the parent. + +Pages
++Pages are top-most controls that have no parent (you may consider application as their container though). The presentation of pages are directly displayed to end-users. +
\ No newline at end of file -- cgit v1.2.3