BasicCollection

class AeonDigital\Collection\BasicCollection
Implementa a interface iBasicCollection.
Esta classe traz componentes que permitem implementar quaisquer das interfaces do namespace
AeonDigital\Interfaces\Collection no entando APENAS iBasicCollection está devidamente
implementada, restando às classes concretas que herdem esta se especializarem em cada uma
destas capacidades.

A partir desta classe as seguintes interfaces podem ser implementadas imediatamente:

- iProtectedCollection
- iAppendOnlyCollection
- iReadOnlyCollection
- iCaseInsensitiveCollection

Na documentação de cada método ou propriedade desta classe vem especificado de que forma
a implementação de uma destas interfaces deve alterar o comportamento do mesmo.
Parent:AeonDigital\BObject
Implements:AeonDigital\Interfaces\Collection\iBasicCollection

Properties

Methods

public AeonDigital\Collection\BasicCollection::isProtected()
Indica se a coleção implementa a interface iProtectedCollection.
Returns:‹ bool ›
Quando true indica que a coleção manterá o estado de todos os seus objetos não permitindo que eles sejam alterados, no entanto os valores uma vez definidos PODEM ser excluídos.
public AeonDigital\Collection\BasicCollection::isAppendOnly()
Indica se a coleção implementa a interface iAppendOnlyCollection.
Returns:‹ bool ›
Quando true indica que a coleção pode ser apenas incrementada mas jamais modificada nem reduzida.
public AeonDigital\Collection\BasicCollection::isReadOnly()
Indica se a coleção implementa a interface iReadOnlyCollection.
Returns:‹ bool ›
Quando true indica que a coleção não pode ser alterada após ser definida durante a construção da instância.
public AeonDigital\Collection\BasicCollection::isCaseInsensitive()
Indica se a coleção implementa a interface iCaseInsensitiveCollection.
Returns:‹ bool ›
Quando true indica que os nomes das chaves de cada entrada de dados será tratado de forma case insensitive, ou seja, KeyName = keyname = KEYNAME.
public AeonDigital\Collection\BasicCollection::isAutoIncrement()
Uma instância com a característica autoincrement deve permitir que seja omitido o nome
das chaves no método set pois este deve ser controlado internamente como se fosse um
array iniciado em zero.
Ainda assim o tratamento das chaves sempre se dará como se fossem strings e não
numerais inteiros como ocorre em um array comum.

As implementações desta caracteristica devem também controlar os índices quando estes são
removidos. A regra geral é que TODOS os itens existentes mantenham como chave o índice
correspondente a sua real posição.

``` php
// Neste caso uma coleção com 10 itens que execute 5 vezes a instrução:
$collection->remove("0");
// Ficará, ao final com 5 itens cada qual ocupando uma posição entre 0 e 4.
```
Returns:‹ bool ›
Retorna true quando a coleção é do tipo autoincrement.
public AeonDigital\Collection\BasicCollection::has($key)
Indica se a chave de nome indicado existe entre os itens da coleção.
Parameters:
  • ‹ string › $key
    Nome da chave que será identificada.
Returns:

‹ bool ›
Retorna true caso a chave indicada existir entre os itens da coleção ou false se não existir.

public AeonDigital\Collection\BasicCollection::set($key, $value)
Insere um novo item chave/valor para a coleção de dados.
Se já existe um valor com chave de mesmo nome então, o valor antigo será substituído.
Parameters:
  • ‹ string › $key
    Nome da chave. Pode ser usado '' caso a instância seja do tipo autoincrement.
  • ‹ mixed › $value
    Valor que será associado a esta chave.
Returns:

‹ bool ›
Retorna true quando a insersão/atualização do item foi bem sucedido.

public AeonDigital\Collection\BasicCollection::get($key)
Resgata um valor da coleção a partir do nome da chave indicada.
Parameters:
  • ‹ string › $key
    Nome da chave cujo valor deve ser retornado.
Returns:

‹ ?mixed ›
Valor armazenado na collection que correspondente a chave passada. DEVE retornar null quando a chave de nome indicado não existir.

public AeonDigital\Collection\BasicCollection::remove($key)
Remove da coleção o item com a chave indicada.
Parameters:
  • ‹ string › $key
    Nome da chave do valor que será excluído.
Returns:

‹ bool ›
Retornará true se a chave foi removida, ou, se, ela não existia dentro da coleção atual e false caso por algum motivo não seja possível executar este método.

public AeonDigital\Collection\BasicCollection::__construct($initialValues=[], $autoincrement=false)
Inicia uma nova coleção de dados.
Parameters:
  • ‹ ?array › $initialValues
    Valores com os quais a instância deve iniciar.
  • ‹ bool › $autoincrement
    Quando true permite que seja omitido o nome da chave dos valores pois eles serão definidos internamente conforme fosse um array começando em zero.
Throws:

‹ InvalidArgumentException ›
Caso algum dos valores iniciais a serem definidos não seja aceito.

public AeonDigital\Collection\BasicCollection::offsetExists($key)
Método que permite a verificação da existência de um valor usando a notação de
array associativo em conjunto com as funções isset() e empty() do PHP:
``` php
$oCollect = new iBasicCollection();
if (isset($oCollect["keyName"])) { … }
```
Parameters:
  • ‹ string › $key
    Chave que será verificada.
Returns:

‹ bool ›

public AeonDigital\Collection\BasicCollection::offsetGet($key)
Método que permite resgatar o valor de um item da coleção da instância usando a
notação de array associativo.
``` php
$oCollect = new iBasicCollection();
if ($oCollect["keyName"] == $value) { … }
```
Parameters:
  • ‹ string › $key
    Nome da chave cujo valor deve ser retornado.
Returns:

‹ mixed | null ›

public AeonDigital\Collection\BasicCollection::offsetSet($key, $value)
Método que permite inserir um novo valor para a coleção de dados da instância usando a
notação de um array associativo.
``` php
$oCollect = new iBasicCollection();
$oCollect["keyName"] = $value;
```
Parameters:
  • ‹ string › $key
    Nome da chave.
  • ‹ mixed › $value
    Valor que será associado.
Returns:

‹ void ›

public AeonDigital\Collection\BasicCollection::offsetUnset($key)
Método que permite remover o valor de um item da coleção da instância usando a notação
de array associativo em conjunto com a função unset() do PHP:
``` php
$oCollect = new iBasicCollection();
unset($oCollect["keyName"]);
```
Parameters:
  • ‹ string › $key
    Nome da chave cujo valor deve ser retornado.
Returns:

‹ mixed | null ›

public AeonDigital\Collection\BasicCollection::count()
Método que permite a verificação da quantidade de itens na coleção atual usando a função
count() do PHP.
``` php
$oCollect = new iBasicCollection();
if (count($oCollect) > 1) { … }
```
Returns:‹ int ›
public AeonDigital\Collection\BasicCollection::getIterator()
Método que permite a iteração sobre os valores armazenados na coleção de dados da instância
usando foreach() do PHP.
``` php
$oCollect = new iBasicCollection();
foreach($oCollect as $key => $value) { … }
```
Returns:‹ \Traversable ›
public AeonDigital\Collection\BasicCollection::__set($name, $value)
Desabilita a função mágica __set para assegurar a que apenas alterações dentro das
regras definidas para a classe sejam possíveis.