CAttributeCollection
| Package |
system.collections |
| Inheritance |
class CAttributeCollection »
CMap »
CComponent |
| Implements |
Countable, ArrayAccess, Traversable, IteratorAggregate |
| Since |
1.0 |
| Version |
$Id: CAttributeCollection.php 1678 2010-01-07 21:02:00Z qiang.xue $ |
CAttributeCollection implements a collection for storing attribute names and values.
Besides all functionalities provided by
CMap, CAttributeCollection
allows you to get and set attribute values like getting and setting
properties. For example, the following usages are all valid for a
CAttributeCollection object:
$collection->text='text'; // same as: $collection->add('text','text');
echo $collection->text; // same as: echo $collection->itemAt('text');
The case sensitivity of attribute names can be toggled by setting the
caseSensitive property of the collection.
Property Details
public boolean $caseSensitive;
whether the keys are case-sensitive. Defaults to false.
Method Details
|
public mixed __get(string $name)
|
| $name |
string |
the property name or the event name |
| {return} |
mixed |
the property value or the event handler list |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 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. |
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.