AbstractRecordCollection implements RecordCollectionInterface, PersistableCollectionInterface
Abstract implementation of a RecordCollection
RecordCollection is a collections of TCA-Records. The collection is meant to be stored in TCA-table sys_file_collections and is manageable via FormEngine.
A RecordCollection might be used to group a set of records (e.g. news, images, contentElements) for output in frontend
The AbstractRecordCollection uses SplDoublyLinkedList for internal storage
Tags
Table of Contents
Interfaces
- RecordCollectionInterface
- Collection for handling records from a single database-table.
- PersistableCollectionInterface
- Interface for collection class being persistable
Properties
- $description : string
- Collection description
- $itemTableName : string
- Table name of the records stored in this collection
- $storage : SplDoublyLinkedList
- The local storage
- $storageItemsField : string
- The table name collections are stored to
- $storageTableName : string
- The table name collections are stored to, must be defined in the subclass
- $title : string
- Collection title
- $uid : int
- Uid of the storage
Methods
- __construct() : mixed
- Creates this object.
- __serialize() : array<string|int, mixed>
- Returns class state to be serialized.
- __unserialize() : void
- Load records with the given serialized information
- count() : int
- Count elements of an object
- create() : CollectionInterface
- Creates a new collection objects and reconstitutes the given database record to the new object.
- current() : T|null
- Return the current element
- fromArray() : mixed
- Loads the properties of this collection from an array
- getDescription() : string
- Getter for the description
- getIdentifier() : int
- Returns the uid of the collection
- getItemTableName() : string
- Setter for the name of the data-source table
- getTitle() : string
- Getter for the title
- getUid() : int
- Getter for the UID
- key() : int|string
- Return the key of the current element
- load() : CollectionInterface
- Loads the collections with the given id from persistence
- next() : void
- Move forward to next element
- persist() : mixed
- Persists current collection state to underlying storage
- rewind() : void
- Rewind the Iterator to the first element
- setDescription() : mixed
- Setter for the description
- setIdentifier() : mixed
- Sets the identifier of the collection
- setItemTableName() : mixed
- Setter for the name of the data-source table
- setTitle() : mixed
- Setter for the title
- toArray() : array<string|int, mixed>
- Builds an array representation of this collection
- valid() : bool
- Checks if current position is valid
- getCollectionDatabaseTable() : string
- getItemUidList() : string
- Generates comma-separated list of entry uids for usage in DataHandler
- getPersistableDataArray() : array<string|int, mixed>
- Returns an array of the persistable properties and contents which are processable by DataHandler.
Properties
$description
Collection description
        protected
            string
    $description
    
    
    
    
    
    
$itemTableName
Table name of the records stored in this collection
        protected
            string
    $itemTableName
    
    
    
    
    
    
$storage
The local storage
        protected
            SplDoublyLinkedList
    $storage
    
    
    
    
    
    
$storageItemsField
The table name collections are stored to
        protected
        static    string
    $storageItemsField
     = 'items'
    
    
    
    
    
$storageTableName
The table name collections are stored to, must be defined in the subclass
        protected
        static    string
    $storageTableName
     = ''
    
    
    
    
    
$title
Collection title
        protected
            string
    $title
    
    
    
    
    
    
$uid
Uid of the storage
        protected
            int
    $uid
     = 0
    
    
    
    
    
Methods
__construct()
Creates this object.
    public
                    __construct() : mixed
    __serialize()
Returns class state to be serialized.
    public
                    __serialize() : array<string|int, mixed>
    Return values
array<string|int, mixed>__unserialize()
Load records with the given serialized information
    public
                    __unserialize(array<string|int, mixed> $arrayRepresentation) : void
    Parameters
- $arrayRepresentation : array<string|int, mixed>
count()
Count elements of an object
    public
                    count() : int
    Return values
int —The custom count as an integer.
create()
Creates a new collection objects and reconstitutes the given database record to the new object.
    public
            static        create(array<string|int, mixed> $collectionRecord[, bool $fillItems = false ]) : CollectionInterface
    Parameters
- $collectionRecord : array<string|int, mixed>
- 
                    Database record 
- $fillItems : bool = false
- 
                    Populates the entries directly on load, might be bad for memory on large collections 
Return values
CollectionInterfacecurrent()
Return the current element
    public
                    current() : T|null
    Return values
T|nullfromArray()
Loads the properties of this collection from an array
    public
                    fromArray(array<string|int, mixed> $array) : mixed
    Parameters
- $array : array<string|int, mixed>
getDescription()
Getter for the description
    public
                    getDescription() : string
    Return values
stringgetIdentifier()
Returns the uid of the collection
    public
                    getIdentifier() : int
    Return values
intgetItemTableName()
Setter for the name of the data-source table
    public
                    getItemTableName() : string
    Return values
stringgetTitle()
Getter for the title
    public
                    getTitle() : string
    Return values
stringgetUid()
Getter for the UID
    public
                    getUid() : int
    Return values
intkey()
Return the key of the current element
    public
                    key() : int|string
    Return values
int|string —0 on failure.
load()
Loads the collections with the given id from persistence
    public
            static        load(int $id[, bool $fillItems = false ]) : CollectionInterface
    For memory reasons, per default only f.e. title, database-table, identifier (what ever static data is defined) is loaded. Entries can be load on first access.
Parameters
- $id : int
- 
                    Id of database record to be loaded 
- $fillItems : bool = false
- 
                    Populates the entries directly on load, might be bad for memory on large collections 
Return values
CollectionInterfacenext()
Move forward to next element
    public
                    next() : void
    persist()
Persists current collection state to underlying storage
    public
                    persist() : mixed
    rewind()
Rewind the Iterator to the first element
    public
                    rewind() : void
    setDescription()
Setter for the description
    public
                    setDescription(string $desc) : mixed
    Parameters
- $desc : string
setIdentifier()
Sets the identifier of the collection
    public
                    setIdentifier(int $id) : mixed
    Parameters
- $id : int
setItemTableName()
Setter for the name of the data-source table
    public
                    setItemTableName(string $tableName) : mixed
    Parameters
- $tableName : string
setTitle()
Setter for the title
    public
                    setTitle(string $title) : mixed
    Parameters
- $title : string
toArray()
Builds an array representation of this collection
    public
                    toArray() : array<string|int, mixed>
    Return values
array<string|int, mixed>valid()
Checks if current position is valid
    public
                    valid() : bool
    Return values
bool —The return value will be cast to boolean and then evaluated.
getCollectionDatabaseTable()
    protected
            static        getCollectionDatabaseTable() : string
    Return values
stringgetItemUidList()
Generates comma-separated list of entry uids for usage in DataHandler
    protected
                    getItemUidList([bool $includeTableName = true ]) : string
    also allow to add table name, if it might be needed by DataHandler for storing the relation
Parameters
- $includeTableName : bool = true
Return values
stringgetPersistableDataArray()
Returns an array of the persistable properties and contents which are processable by DataHandler.
    protected
    abstract                getPersistableDataArray() : array<string|int, mixed>
    For internal usage in persist only.