From edc48dc9c76aa2a15f7efddd05d8f687bffb70d6 Mon Sep 17 00:00:00 2001
From: Qiang Xue <qiang.xue@gmail.com>
Date: Sun, 20 Jan 2013 11:26:15 -0500
Subject: [PATCH] removed ApplicationComponent.
---
framework/base/ApplicationComponent.php | 32 --------------------------------
framework/base/Behavior.php | 11 ++++++-----
framework/base/Component.php | 11 ++++++-----
framework/base/ErrorHandler.php | 2 +-
framework/base/Module.php | 10 +++++-----
framework/base/Request.php | 2 +-
framework/base/Response.php | 2 +-
framework/base/SecurityManager.php | 2 +-
framework/base/Theme.php | 2 +-
framework/base/UrlManager.php | 4 ++--
framework/db/Connection.php | 5 +++--
11 files changed, 27 insertions(+), 56 deletions(-)
delete mode 100644 framework/base/ApplicationComponent.php
diff --git a/framework/base/ApplicationComponent.php b/framework/base/ApplicationComponent.php
deleted file mode 100644
index 982d940..0000000
--- a/framework/base/ApplicationComponent.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/**
- * ApplicationComponent class file.
- *
- * @link http://www.yiiframework.com/
- * @copyright Copyright © 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
-
-namespace yii\base;
-
-/**
- * ApplicationComponent is the base class for application component classes.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @since 2.0
- */
-class ApplicationComponent extends Component
-{
- /**
- * @var string unique ID of this application component
- */
- public $id;
-
- public function init()
- {
- parent::init();
- if ($this->id === null) {
- $this->id = get_class($this);
- }
- }
-}
diff --git a/framework/base/Behavior.php b/framework/base/Behavior.php
index 8cf100b..9155097 100644
--- a/framework/base/Behavior.php
+++ b/framework/base/Behavior.php
@@ -80,13 +80,14 @@ class Behavior extends \yii\base\Object
* The default implementation will unset the [[owner]] property
* and detach event handlers declared in [[events]].
* Make sure you call the parent implementation if you override this method.
- * @param Component $owner the component that this behavior is to be detached from.
*/
- public function detach($owner)
+ public function detach()
{
- foreach ($this->events() as $event => $handler) {
- $owner->off($event, is_string($handler) ? array($this, $handler) : $handler);
+ if ($this->owner) {
+ foreach ($this->events() as $event => $handler) {
+ $this->owner->off($event, is_string($handler) ? array($this, $handler) : $handler);
+ }
+ $this->owner = null;
}
- $this->owner = null;
}
}
diff --git a/framework/base/Component.php b/framework/base/Component.php
index fe959f8..c6c91eb 100644
--- a/framework/base/Component.php
+++ b/framework/base/Component.php
@@ -76,7 +76,8 @@ class Component extends \yii\base\Object
* will be implicitly called when executing `$component->property = $value;`.
* @param string $name the property name or the event name
* @param mixed $value the property value
- * @throws UnknownPropertyException if the property is not defined or read-only.
+ * @throws UnknownPropertyException if the property is not defined
+ * @throws InvalidCallException if the property is read-only.
* @see __get
*/
public function __set($name, $value)
@@ -151,7 +152,7 @@ class Component extends \yii\base\Object
* Do not call this method directly as it is a PHP magic method that
* will be implicitly called when executing `unset($component->property)`.
* @param string $name the property name
- * @throws UnknownPropertyException if the property is read only.
+ * @throws InvalidCallException if the property is read only.
*/
public function __unset($name)
{
@@ -421,7 +422,7 @@ class Component extends \yii\base\Object
public function trigger($name, $event = null)
{
$this->ensureBehaviors();
- if (isset($this->_e[$name])) {
+ if (isset($this->_e[$name]) && $this->_e[$name]->getCount()) {
if ($event === null) {
$event = new Event($this);
}
@@ -505,7 +506,7 @@ class Component extends \yii\base\Object
if (isset($this->_b[$name])) {
$behavior = $this->_b[$name];
unset($this->_b[$name]);
- $behavior->detach($this);
+ $behavior->detach();
return $behavior;
} else {
return null;
@@ -550,7 +551,7 @@ class Component extends \yii\base\Object
$behavior = \Yii::createObject($behavior);
}
if (isset($this->_b[$name])) {
- $this->_b[$name]->detach($this);
+ $this->_b[$name]->detach();
}
$behavior->attach($this);
return $this->_b[$name] = $behavior;
diff --git a/framework/base/ErrorHandler.php b/framework/base/ErrorHandler.php
index 765a015..9f1621a 100644
--- a/framework/base/ErrorHandler.php
+++ b/framework/base/ErrorHandler.php
@@ -20,7 +20,7 @@ namespace yii\base;
*/
use yii\util\VarDumper;
-class ErrorHandler extends ApplicationComponent
+class ErrorHandler extends Component
{
/**
* @var integer maximum number of source code lines to be displayed. Defaults to 25.
diff --git a/framework/base/Module.php b/framework/base/Module.php
index ef48ef1..f08d033 100644
--- a/framework/base/Module.php
+++ b/framework/base/Module.php
@@ -427,14 +427,14 @@ abstract class Module extends Component
* Retrieves the named application component.
* @param string $id application component ID (case-sensitive)
* @param boolean $load whether to load the component if it is not yet loaded.
- * @return ApplicationComponent|null the application component instance, null if the application component
+ * @return Component|null the application component instance, null if the application component
* does not exist.
* @see hasComponent()
*/
public function getComponent($id, $load = true)
{
if (isset($this->_components[$id])) {
- if ($this->_components[$id] instanceof ApplicationComponent) {
+ if ($this->_components[$id] instanceof Component) {
return $this->_components[$id];
} elseif ($load) {
\Yii::trace("Loading \"$id\" application component", __CLASS__);
@@ -447,10 +447,10 @@ abstract class Module extends Component
/**
* Registers an application component in this module.
* @param string $id component ID
- * @param ApplicationComponent|array|null $component the component to be added to the module. This can
+ * @param Component|array|null $component the component to be added to the module. This can
* be one of the followings:
*
- * - an [[ApplicationComponent]] object
+ * - a [[Component]] object
* - a configuration array: when [[getComponent()]] is called initially for this component, the array
* will be used to instantiate the component
* - null: the named component will be removed from the module
@@ -476,7 +476,7 @@ abstract class Module extends Component
if ($loadedOnly) {
$components = array();
foreach ($this->_components as $component) {
- if ($component instanceof ApplicationComponent) {
+ if ($component instanceof Component) {
$components[] = $component;
}
}
diff --git a/framework/base/Request.php b/framework/base/Request.php
index 2295d0c..0dbc568 100644
--- a/framework/base/Request.php
+++ b/framework/base/Request.php
@@ -13,7 +13,7 @@ namespace yii\base;
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
-class Request extends ApplicationComponent
+class Request extends Component
{
private $_scriptFile;
private $_isConsoleRequest;
diff --git a/framework/base/Response.php b/framework/base/Response.php
index d2ef654..3ced584 100644
--- a/framework/base/Response.php
+++ b/framework/base/Response.php
@@ -13,7 +13,7 @@ namespace yii\base;
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
-class Response extends ApplicationComponent
+class Response extends Component
{
public function beginOutput()
{
diff --git a/framework/base/SecurityManager.php b/framework/base/SecurityManager.php
index 3c3b779..441b908 100644
--- a/framework/base/SecurityManager.php
+++ b/framework/base/SecurityManager.php
@@ -15,7 +15,7 @@ namespace yii\base;
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
-class SecurityManager extends ApplicationComponent
+class SecurityManager extends Component
{
const STATE_VALIDATION_KEY = 'Yii.SecurityManager.validationkey';
const STATE_ENCRYPTION_KEY = 'Yii.SecurityManager.encryptionkey';
diff --git a/framework/base/Theme.php b/framework/base/Theme.php
index ec58807..c1fc94a 100644
--- a/framework/base/Theme.php
+++ b/framework/base/Theme.php
@@ -17,7 +17,7 @@ use yii\base\InvalidConfigException;
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
-class Theme extends ApplicationComponent
+class Theme extends Component
{
public $basePath;
public $baseUrl;
diff --git a/framework/base/UrlManager.php b/framework/base/UrlManager.php
index 7568a9e..3de8807 100644
--- a/framework/base/UrlManager.php
+++ b/framework/base/UrlManager.php
@@ -9,7 +9,7 @@
namespace yii\base;
-use \yii\base\ApplicationComponent;
+use \yii\base\Component;
/**
* UrlManager manages the URLs of Yii applications.
@@ -123,7 +123,7 @@ use \yii\base\ApplicationComponent;
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
-class UrlManager extends ApplicationComponent
+class UrlManager extends Component
{
const CACHE_KEY='Yii.UrlManager.rules';
const GET_FORMAT='get';
diff --git a/framework/db/Connection.php b/framework/db/Connection.php
index ecee135..7b31dc5 100644
--- a/framework/db/Connection.php
+++ b/framework/db/Connection.php
@@ -9,6 +9,7 @@
namespace yii\db;
+use yii\base\Component;
use yii\base\InvalidConfigException;
use yii\base\NotSupportedException;
@@ -70,7 +71,7 @@ use yii\base\NotSupportedException;
* }
* ~~~
*
- * Connection is often used as an [[\yii\base\ApplicationComponent|application component]] and configured in the application
+ * Connection is often used as an application component and configured in the application
* configuration like the following:
*
* ~~~
@@ -98,7 +99,7 @@ use yii\base\NotSupportedException;
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
-class Connection extends \yii\base\ApplicationComponent
+class Connection extends Component
{
/**
* @event Event an event that is triggered after a DB connection is established
--
libgit2 0.27.1