diff options
-rw-r--r-- | framework/Web/Services/TPageService.php | 4 | ||||
-rw-r--r-- | framework/core.php | 53 |
2 files changed, 55 insertions, 2 deletions
diff --git a/framework/Web/Services/TPageService.php b/framework/Web/Services/TPageService.php index 56f2cdb6..6834e269 100644 --- a/framework/Web/Services/TPageService.php +++ b/framework/Web/Services/TPageService.php @@ -73,7 +73,7 @@ Prado::using('System.Web.UI.TPageStatePersister'); * @package System.Services
* @since 3.0
*/
-class TPageService extends TComponent implements IService
+class TPageService extends TService
{
/**
* Configuration file name
@@ -263,7 +263,7 @@ class TPageService extends TComponent implements IService $this->_initialized=true;
- $application->attachEventHandler('RunService',array($this,'run'));
+ parent::init($application,$config);
}
/**
diff --git a/framework/core.php b/framework/core.php index 405e5574..1196d3c4 100644 --- a/framework/core.php +++ b/framework/core.php @@ -356,6 +356,59 @@ class TModule extends TComponent implements IModule }
/**
+ * TService class.
+ *
+ * TService implements the basic methods required by IService and may be
+ * used as the basic class for application services.
+ *
+ * @author Qiang Xue <qiang.xue@gmail.com>
+ * @version $Revision: $ $Date: $
+ * @package System
+ * @since 3.0
+ */
+abstract class TService extends TComponent implements IService
+{
+ /**
+ * @var string service id
+ */
+ private $_id;
+
+ /**
+ * Initializes the service and attaches {@link run} to the RunService event of application.
+ * This method is required by IService and is invoked by application.
+ * @param TApplication application
+ * @param TXmlElement module configuration
+ */
+ public function init($application,$config)
+ {
+ $application->attachEventHandler('RunService',array($this,'run'));
+ }
+
+ /**
+ * @return string id of this service
+ */
+ public function getID()
+ {
+ return $this->_id;
+ }
+
+ /**
+ * @param string id of this service
+ */
+ public function setID($value)
+ {
+ $this->_id=$value;
+ }
+
+ /**
+ * Runs the service.
+ */
+ public function run()
+ {
+ }
+}
+
+/**
* PradoBase class.
*
* PradoBase implements a few fundamental static methods.
|