Class CoughCollection

Description

CoughCollection collects CoughObjects.

  • abstract:

Located in /cough/CoughCollection.class.php (line 8)

ArrayObject
   |
   --CoughCollection
Variable Summary
Method Summary
static string getTemporaryKey ()
CoughCollection __construct ()
void add (CoughObject $object)
mixed get (mixed $key)
CoughAbstractDatabaseAdapter getDb ()
CoughKeyValueIterator getKeyValueIterator ( $value, [ $key = 'getKeyId'])
mixed getLoadSql ()
mixed getPosition (int $n)
boolean isEmpty ()
void load ()
void loadBySql ( $sql)
mixed remove (CoughObject|int|string $objectOrId)
mixed removeByKey ( $key)
mixed removeByReference ( $objectToRemove)
void save ()
void sortByKeys (array $keys)
void sortByMethod (string $methodName, [int $direction = SORT_ASC])
void sortByMethods (string $methodName, mixed $arg,...)
Variables
string $elementClassName (line 18)

The name of the element class that will be used when adding new elements to the collection

Override this in sub class.

  • access: protected
array $removedElements = array() (line 25)

Holds all the (unsaved) removed elements

  • var: of CoughObjects
  • access: protected
Methods
static method getTemporaryKey (line 204)

Returns a temporary key for adding an object that does not have a key ID yet.

  • author: Anthony Bush
  • access: protected
static string getTemporaryKey ()
Constructor __construct (line 27)
  • access: public
CoughCollection __construct ()

Redefinition of:
ArrayObject::constructor __construct ( $array )
add (line 189)

Adds a single element (even if it doesn't have a key ID yet).

  • author: Anthony Bush
  • access: public
void add (CoughObject $object)
get (line 171)

Returns the element at the given key.

  • return: the CoughObject if found, null if not.
  • author: Anthony Bush
  • access: public
mixed get (mixed $key)
  • mixed $key: the result from the element's CoughObject::getKeyId() method (which always returns a flattened string/integer) or the result from the element's CoughObject::getPk() method (which always returns the array form of the key).
getDb (line 54)

Returns a reference to the database object to use for queries.

  • access: public
CoughAbstractDatabaseAdapter getDb ()
getIterator (line 36)

Returns a new iterator for the collection.

  • access: public
CoughIterator getIterator ()

Redefinition of:
ArrayObject::getIterator ( )
getKeyValueIterator (line 45)

Returns a new key-value iterator for the collection.

  • access: public
CoughKeyValueIterator getKeyValueIterator ( $value, [ $key = 'getKeyId'])
  • $value
  • $key
getLoadSql (line 67)

Returns the base SQL to use for the collection.

Defaults to just calling the object's getLoadSql() static method.

Override in sub class to use different SQL.

  • return: return value of CoughObject::getLoadSql()
  • access: public
mixed getLoadSql ()
getPosition (line 136)

Get the $n-th position in the array, regardless of key indices.

$n = 0 gets first element, $n = (count - 1) gets last element.

  • return: nth element in array.
  • author: Anthony Bush
  • access: public
mixed getPosition (int $n)
  • int $n: which element to get (in range 0 to count - 1).
isEmpty (line 153)

Find out whether or not the collection is empty.

  • return: true if nothing is in the collection, false otherwise.
  • author: Anthony Bush
  • access: public
boolean isEmpty ()
load (line 76)

Loads the collection using the SQL provided by getLoadSql()

  • access: public
void load ()
loadBySql (line 85)

Loads the collection using the provided SQL

  • access: public
void loadBySql ( $sql)
  • $sql
remove (line 217)

Removes a single element given either an ID or the object itself.

  • return: CoughObject that was removed, or false if no element could be found/removed.
  • author: Anthony Bush
  • access: public
mixed remove (CoughObject|int|string $objectOrId)
  • CoughObject|int|string $objectOrId: object or ID to remove (ID must be result from $object->getKeyId()).
removeByKey (line 241)

Removes a single element from the collection by key.

Due to a bug in PHP 5.2.1 and earlier, we do not use offsetExists()... This has the drawback of not working when a value exists, but is null, but if that ever happens behavior is UNDEFINED anyway (i.e. how do you have a null element in a CoughCollection? It makes no sense.) See http://bugs.php.net/bug.php?id=40872 for more details.

  • return: CoughObject that was removed, or false if no element could be found/removed.
  • author: Anthony Bush
  • access: protected
mixed removeByKey ( $key)
  • $key
removeByReference (line 257)

Removes a single element from the collection by comparing references.

  • return: CoughObject that was removed, or false if no element could be found/removed.
  • author: Anthony Bush
  • access: protected
mixed removeByReference ( $objectToRemove)
  • $objectToRemove
save (line 103)

Run save on each collected (or removed) element.

  • author: Anthony Bush
  • access: public
void save ()
sortByKeys (line 276)

Sort the collection from an array of keys (where the keys are in the desired order).

  • author: Anthony Bush
  • access: public
void sortByKeys (array $keys)
  • array $keys: ordered key IDs for the elements in the collection.
sortByMethod (line 301)

Sort the collection from the return value of the specified method name of the collected objects.

Examples:

  1.      $collection->sortByMethod('getProductName');
  2.      $collection->sortByMethod('getProductName'SORT_ASC);
  3.      $collection->sortByMethod('getProductName'SORT_DESC);

  • author: Anthony Bush
  • access: public
void sortByMethod (string $methodName, [int $direction = SORT_ASC])
  • string $methodName
  • int $direction: SORT_ASC or SORT_DESC (PHP sort order constant)
sortByMethods (line 337)

Sort the collection from the return value of the specified method names of the collected objects.

Examples:

  1.      $collection->sortByMethods('getManufacturerName''getProductName');
  2.      $collection->sortByMethods('getManufacturerName'SORT_DESC'getProductName'SORT_DESC);
  3.      $collection->sortByMethods('getManufacturerName'SORT_DESC'getProductName'SORT_ASC);
  4.      $collection->sortByMethods('getManufacturerName'SORT_DESCSORT_STRING'getProductName'SORT_STRING);

void sortByMethods (string $methodName, mixed $arg,...)
  • string $methodName
  • mixed $arg,...: optionally another method name, or sort options for the previous method name: SORT_ASC, SORT_DESC, SORT_REGULAR, SORT_NUMERIC, SORT_STRING (PHP sort order and sort type constants)

Inherited Methods

Inherited From ArrayObject (Internal Class)

constructor __construct ( $array )
append ( $value )
asort ( )
count ( )
exchangeArray ( $array )
getArrayCopy ( )
getFlags ( )
getIterator ( )
getIteratorClass ( )
ksort ( )
natcasesort ( )
natsort ( )
offsetExists ( $index )
offsetGet ( $index )
offsetSet ( $index, $newval )
offsetUnset ( $index )
setFlags ( $flags )
setIteratorClass ( $iteratorClass )
uasort ( $cmp_function )
uksort ( $cmp_function )
Class Constants

Inherited Constants

Inherited from ArrayObject (Internal Class)

ARRAY_AS_PROPS = 2
STD_PROP_LIST = 1

Documentation generated on Tue, 23 Sep 2008 22:48:20 -0500 by phpDocumentor 1.4.0