Package | system.caching.dependencies |
---|---|
Inheritance | class CDbCacheDependency » CCacheDependency » CComponent |
Implements | ICacheDependency |
Since | 1.0 |
Version | $Id$ |
Source Code | framework/caching/dependencies/CDbCacheDependency.php |
Property | Type | Description | Defined By |
---|---|---|---|
connectionID | string | the ID of a CDbConnection application component. | CDbCacheDependency |
dependentData | mixed | the data used to determine if dependency has been changed. | CCacheDependency |
hasChanged | boolean | whether the dependency has changed. | CCacheDependency |
sql | string | the SQL statement whose result is used to determine if the dependency has been changed. | CDbCacheDependency |
Property | Type | Description | Defined By |
---|---|---|---|
dbConnection | CDbConnection | the DB connection instance | CDbCacheDependency |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CDbCacheDependency |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__sleep() | PHP sleep magic method. | CDbCacheDependency |
__unset() | Sets a component property to be null. | CComponent |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
evaluateDependency() | Evaluates the dependency by generating and saving the data related with dependency. | CCacheDependency |
getDependentData() | Returns the data used to determine if dependency has been changed. This data is available after evaluateDependency is called. | CCacheDependency |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getHasChanged() | Returns whether the dependency has changed. | CCacheDependency |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
raiseEvent() | Raises an event. | CComponent |
Method | Description | Defined By |
---|---|---|
generateDependentData() | Generates the data needed to determine if dependency has been changed. | CDbCacheDependency |
getDbConnection() | Returns the DB connection instance | CDbCacheDependency |
the ID of a CDbConnection application component. Defaults to 'db'.
the DB connection instance
the SQL statement whose result is used to determine if the dependency has been changed. Note, the SQL statement should return back a single value.
public void __construct(string $sql=NULL)
| ||
$sql | string | the SQL statement whose result is used to determine if the dependency has been changed. |
public function __construct($sql=null)
{
$this->sql=$sql;
}
Constructor.
public void __sleep()
|
public function __sleep()
{
$this->_db=null;
return array_keys((array)$this);
}
PHP sleep magic method. This method ensures that the database instance is set null because it contains resource handles.
protected mixed generateDependentData()
| ||
{return} | mixed | the data needed to determine if dependency has been changed. |
protected function generateDependentData()
{
if($this->sql!==null)
return $this->getDbConnection()->createCommand($this->sql)->queryScalar();
else
throw new CException(Yii::t('yii','CDbCacheDependency.sql cannot be empty.'));
}
Generates the data needed to determine if dependency has been changed. This method returns the value of the global state.
protected CDbConnection getDbConnection()
| ||
{return} | CDbConnection | the DB connection instance |
protected function getDbConnection()
{
if($this->_db!==null)
return $this->_db;
else
{
if(($this->_db=Yii::app()->getComponent($this->connectionID)) instanceof CDbConnection)
return $this->_db;
else
throw new CException(Yii::t('yii','CDbHttpSession.connectionID "{id}" is invalid. Please make sure it refers to the ID of a CDbConnection application component.',
array('{id}'=>$this->connectionID)));
}
}
Signup or Login in order to comment.