summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
Diffstat (limited to 'framework')
-rw-r--r--framework/Web/Services/TPageService.php4
-rw-r--r--framework/core.php53
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.