Package | system.collections |
---|---|
Inheritance | class CAttributeCollection » CMap » CComponent |
Implements | Countable, ArrayAccess, Traversable, IteratorAggregate |
Since | 1.0 |
Source Code | framework/collections/CAttributeCollection.php |
$collection->text='text'; // same as: $collection->add('text','text'); echo $collection->text; // same as: echo $collection->itemAt('text');
Property | Type | Description | Defined By |
---|---|---|---|
caseSensitive | boolean | whether the keys are case-sensitive. | CAttributeCollection |
count | integer | Returns the number of items in the map. | CMap |
iterator | CMapIterator | Returns an iterator for traversing the items in the list. | CMap |
keys | array | the key list | CMap |
readOnly | boolean | whether this map is read-only or not. | CMap |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CMap |
__get() | Returns a property value or an event handler list by property or event name. | CAttributeCollection |
__isset() | Checks if a property value is null. | CAttributeCollection |
__set() | Sets value of a component property. | CAttributeCollection |
__unset() | Sets a component property to be null. | CAttributeCollection |
add() | Adds an item into the map. | CAttributeCollection |
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. | CAttributeCollection |
canSetProperty() | Determines whether a property can be set. | CAttributeCollection |
clear() | Removes all items in the map. | CMap |
contains() | Returns whether the specified is in the map. | CAttributeCollection |
copyFrom() | Copies iterable data into the map. | CMap |
count() | Returns the number of items in the map. | CMap |
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 |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
getCount() | Returns the number of items in the map. | CMap |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getIterator() | Returns an iterator for traversing the items in the list. | CMap |
getKeys() | Returns the key list | CMap |
getReadOnly() | Returns whether this map is read-only or not. Defaults to false. | CMap |
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. | CAttributeCollection |
itemAt() | Returns the item with the specified key. | CAttributeCollection |
mergeArray() | Merges two or more arrays into one recursively. | CMap |
mergeWith() | Merges iterable data into the map. | CAttributeCollection |
offsetExists() | Returns whether there is an element at the specified offset. | CMap |
offsetGet() | Returns the element at the specified offset. | CMap |
offsetSet() | Sets the element at the specified offset. | CMap |
offsetUnset() | Unsets the element at the specified offset. | CMap |
raiseEvent() | Raises an event. | CComponent |
remove() | Removes an item from the map by its key. | CAttributeCollection |
toArray() | CMap |
Method | Description | Defined By |
---|---|---|
setReadOnly() | Sets whether this list is read-only or not | CMap |
whether the keys are case-sensitive. Defaults to false.
public mixed __get(string $name)
| ||
$name | string | the property name or the event name |
{return} | mixed | the property value or the event handler list |
public function __get($name)
{
if($this->contains($name))
return $this->itemAt($name);
else
return parent::__get($name);
}
Returns a property value or an event handler list by property or event name. This method overrides the parent implementation by returning a key value if the key exists in the collection.
public boolean __isset(string $name)
| ||
$name | string | the property name or the event name |
{return} | boolean | whether the property value is null |
public function __isset($name)
{
if($this->contains($name))
return $this->itemAt($name)!==null;
else
return parent::__isset($name);
}
Checks if a property value is null. This method overrides the parent implementation by checking if the key exists in the collection and contains a non-null value.
public void __set(string $name, mixed $value)
| ||
$name | string | the property name or event name |
$value | mixed | the property value or event handler |
public function __set($name,$value)
{
$this->add($name,$value);
}
Sets value of a component property. This method overrides the parent implementation by adding a new key value to the collection.
public void __unset(string $name)
| ||
$name | string | the property name or the event name |
public function __unset($name)
{
$this->remove($name);
}
Sets a component property to be null. This method overrides the parent implementation by clearing the specified key value.
public void add(mixed $key, mixed $value)
| ||
$key | mixed | key |
$value | mixed | value |
public function add($key,$value)
{
if($this->caseSensitive)
parent::add($key,$value);
else
parent::add(strtolower($key),$value);
}
Adds an item into the map. This overrides the parent implementation by converting the key to lower case first if caseSensitive is false.
public boolean canGetProperty(string $name)
| ||
$name | string | the property name |
{return} | boolean | whether the property can be read |
public function canGetProperty($name)
{
return $this->contains($name) || parent::canGetProperty($name);
}
Determines whether a property can be read. This method overrides parent implementation by returning true if the collection contains the named key.
public boolean canSetProperty(string $name)
| ||
$name | string | the property name |
{return} | boolean | true |
public function canSetProperty($name)
{
return true;
}
Determines whether a property can be set. This method overrides parent implementation by always returning true because you can always add a new value to the collection.
public boolean contains(mixed $key)
| ||
$key | mixed | the key |
{return} | boolean | whether the map contains an item with the specified key |
public function contains($key)
{
if($this->caseSensitive)
return parent::contains($key);
else
return parent::contains(strtolower($key));
}
Returns whether the specified is in the map. This overrides the parent implementation by converting the key to lower case first if caseSensitive is false.
public boolean hasProperty(string $name)
| ||
$name | string | the property name |
{return} | boolean | whether the property is defined |
public function hasProperty($name)
{
return $this->contains($name) || parent::hasProperty($name);
}
Determines whether a property is defined. This method overrides parent implementation by returning true if the collection contains the named key.
public mixed itemAt(mixed $key)
| ||
$key | mixed | the key |
{return} | mixed | the element at the offset, null if no element is found at the offset |
public function itemAt($key)
{
if($this->caseSensitive)
return parent::itemAt($key);
else
return parent::itemAt(strtolower($key));
}
Returns the item with the specified key. This overrides the parent implementation by converting the key to lower case first if caseSensitive is false.
public void mergeWith(mixed $data, boolean $recursive=true)
| ||
$data | mixed | the data to be merged with, must be an array or object implementing Traversable |
$recursive | boolean | whether the merging should be recursive. |
public function mergeWith($data,$recursive=true)
{
if(!$this->caseSensitive && (is_array($data) || $data instanceof Traversable))
{
$d=array();
foreach($data as $key=>$value)
$d[strtolower($key)]=$value;
return parent::mergeWith($d,$recursive);
}
parent::mergeWith($data,$recursive);
}
Merges iterable data into the map.
Existing elements in the map will be overwritten if their keys are the same as those in the source.
If the merge is recursive, the following algorithm is performed:
public mixed remove(mixed $key)
| ||
$key | mixed | the key of the item to be removed |
{return} | mixed | the removed value, null if no such key exists. |
public function remove($key)
{
if($this->caseSensitive)
return parent::remove($key);
else
return parent::remove(strtolower($key));
}
Removes an item from the map by its key. This overrides the parent implementation by converting the key to lower case first if caseSensitive is false.
Iterating through params is easy
CAttributeCollection
is commonly used forYii::app()->params
, and you can iterate through them with:foreach (Yii::app()->params as $name => $value) { // do stuff }
Signup or Login in order to comment.