aModel

class AeonDigital\DataModel\Abstracts\aModel
Classe abstrata que implementa iModel.
Parent:AeonDigital\BObject
Implements:AeonDigital\Interfaces\DataModel\iModel
Used traits:AeonDigitalTraitsMainCheckArgumentException

Properties

Methods

public AeonDigital\DataModel\Abstracts\aModel::getName()
Retorna o nome do modelo de dados.
Returns:‹ string ›
public AeonDigital\DataModel\Abstracts\aModel::getDescription()
Retorna a descrição de uso/funcionalidade do modelo de dados.
Returns:‹ string ›
public AeonDigital\DataModel\Abstracts\aModel::hasField($f)
Identifica se o campo com o nome indicado existe neste modelo de dados.
Parameters:
  • ‹ string › $f
    Nome do campo que será verificado.
Returns:

‹ bool ›

public AeonDigital\DataModel\Abstracts\aModel::countFields()
Retorna a contagem total dos campos existentes para este modelo de dados.
Returns:‹ int ›
public AeonDigital\DataModel\Abstracts\aModel::getFieldNames($getReferences=true)
Retorna um array contendo o nome de cada um dos campos existentes neste
modelo de dados.
Parameters:
  • ‹ bool › $getReferences
    Quando true retornará todos os campos existentes. Quando false não trará os campos que são do tipo reference.
Returns:

‹ array ›

public AeonDigital\DataModel\Abstracts\aModel::getInitialDataModel()
Retorna um array associativo contendo todos os campos definidos para o
modelo atual e seus respectivos valores iniciais.
Returns:‹ array ›
public AeonDigital\DataModel\Abstracts\aModel::isInitial()
Verifica se algum valor já foi definido para algum campo deste modelo de dados.
A partir do acionamento de qualquer método de alteração de campos e obter sucesso
ao defini-lo, o resultado deste método será sempre false.
Returns:‹ bool ›
public AeonDigital\DataModel\Abstracts\aModel::isValid()
Informa se o modelo de dados tem no momento valores que satisfazem os critérios de
validação para todos os seus campos.
Returns:‹ bool ›
public AeonDigital\DataModel\Abstracts\aModel::getState()
Retorna o código do estado atual deste modelo de dados.
Se todos seus campos estão com valores válidos será retornado valid.

Caso contrário, será retornado um array associativo com o estado de cada um dos
campos.

Campos collection trarão um array associativo conforme o modelo:

```php
$arr = [
// string Estado geral da coleção como um todo.
"collection" => "",

// string[] Estado individual de cada um dos itens.
"itens" => []
];
```
Returns:‹ string | array ›
public AeonDigital\DataModel\Abstracts\aModel::getLastValidateState()
Referente a última validação executada:
Se todos seus campos estão com valores válidos será retornado valid.
Caso contrário, será retornado um array associativo com o estado de cada um dos campos.

Quando executado após o uso de setFieldValue() o resultado será equivalente ao uso de
iField->getLastValidateState().

Campos collection trarão um array associativo conforme o modelo:

```php
$arr = [
// string Estado geral da coleção como um todo.
"collection" => "",

// string[] Estado individual de cada um dos itens.
"itens" => []
];
```
Returns:‹ string | array ›
public AeonDigital\DataModel\Abstracts\aModel::getLastValidateCanSet()
Retornará true caso a última validação realizada permitir que o valor testado seja
definido para o modelo de dados usado.
Returns:‹ bool ›
public AeonDigital\DataModel\Abstracts\aModel::validateValues($objValues, $checkAll=false)
Verifica se o valor indicado satisfaz os critérios que de validação dos campos em comum
que ele tenha com o presente modelo de dados.
A validação é feita seguindo os seguintes passos:
1. Verifica se o valor passado é iterable.
2. Verifica se o valor passado possui alguma propriedade/campo que seja inexistênte
para o modelo de dados desta instância.
3. Verifica se nenhuma propriedade foi encontrada no objeto passado.
4. Se checkAll for definido como true então irá verificar se restou ser
apresentado algum campo obrigatorio. Campos que tenham configuração de valor default
não invalidarão este tipo de teste.


Método "getLastValidateState()"
Após uma validação é possível usar este método para averiguar com precisão qual foi o
motivo da falha.
Para os passos 1 e 3 será retornado uma string única com o código do erro.
Para os passos 2 e 4 será retornado um array associativo contendo uma chave
para cada campo testado e seu respectivo código de validação.


Método "getLastValidateCanSet()"
Após uma validação é possível usar este método para averiguar se o valor passado,
passando ou não, pode ser efetivamente definido para o modelo de dados.
Parameters:
  • ‹ mixed › $objValues
    Objeto que traz os valores a serem testados.
  • ‹ bool › $checkAll
    Quando true apenas confirmará a validade da coleção de valores se com os mesmos for possível preencher todos os campos obrigatórios deste modelo de dados. Campos não declarados mas que possuem um valor padrão definido SEMPRE passarão neste tipo de validação
Returns:

‹ bool ›

Throws:

‹ InvalidArgumentException ›
Caso o objeto passado possua propriedades não correspondentes aos campos definidos.

public AeonDigital\DataModel\Abstracts\aModel::setFieldValue($f, $v)
Define o valor do campo de nome indicado.
Internamente executa o método iField->setValue().
Parameters:
  • ‹ string › $f
    Nome do campo cujo valor será definido.
  • ‹ mixed › $v
    Valor a ser definido para o campo.
Returns:

‹ bool ›
Retornará true se o valor tornou o campo válido ou false caso agora ele esteja inválido. Também retornará false caso o valor seja totalmente incompatível com o campo.

Throws:

‹ InvalidArgumentException ›
Caso o nome do campo não seja válido.

public AeonDigital\DataModel\Abstracts\aModel::getFieldValue($f)
Retorna o valor atual do campo de nome indicado.
Internamente executa o método iField->getValue().
Parameters:
  • ‹ string › $f
    Nome do campo alvo.
Returns:

‹ mixed ›

Throws:

‹ InvalidArgumentException ›
Caso o nome do campo não seja válido.

public AeonDigital\DataModel\Abstracts\aModel::getFieldStorageValue($f)
Retorna o valor atual do campo de nome indicado.
Internamente executa o método iField->getStorageValue().
Parameters:
  • ‹ string › $f
    Nome do campo alvo.
Returns:

‹ mixed ›

Throws:

‹ InvalidArgumentException ›
Caso o nome do campo não seja válido.

public AeonDigital\DataModel\Abstracts\aModel::getFieldRawValue($f)
Retorna o valor atual do campo de nome indicado.
Internamente executa o método iField->getRawValue().
Parameters:
  • ‹ string › $f
    Nome do campo alvo.
Returns:

‹ mixed ›

Throws:

‹ InvalidArgumentException ›
Caso o nome do campo não seja válido.

public AeonDigital\DataModel\Abstracts\aModel::setValues($objValues, $checkAll=false)
Permite definir o valor de inúmeros campos do modelo de dados a partir de um objeto
compatível.
Se todos os valores passados forem possíveis de serem definidos para seus respectivos
campos de dados então isto será feito mesmo que isto torne o modelo como um todo
inválido.
Parameters:
  • ‹ mixed › $objValues
    Objeto que traz os valores a serem redefinidos para o atual modelo de dados.
  • ‹ bool › $checkAll
    Quando true apenas irá definir os dados caso seja possível definir todos os campos do modelo de dados com os valores explicitados. Os campos não definidos devem poder serem definidos com seus valores padrão, caso contrário o set não será feito.
Returns:

‹ bool ›
Retornará true caso os valores passados tornem o modelo válido.

Throws:

‹ InvalidArgumentException ›
Caso o objeto passado possua propriedades não correspondentes aos campos definidos.

public AeonDigital\DataModel\Abstracts\aModel::getValues()
Retorna um array associativo contendo todos os campos do modelo de dados e seus
respectivos valores atualmente definidos.
Internamente executa o método iField->getValue() para cada um dos campos de dados
existente.
Returns:‹ array ›
public AeonDigital\DataModel\Abstracts\aModel::getStorageValues()
Retorna um array associativo contendo todos os campos do modelo de dados e seus
respectivos valores atualmente definidos.
Internamente executa o método iField->getStorageValue() para cada um dos campos
de dados existente.
Returns:‹ array ›
public AeonDigital\DataModel\Abstracts\aModel::getRawValues()
Retorna um array associativo contendo todos os campos do modelo de dados e seus
respectivos valores atualmente definidos.
Internamente executa o método iField->getRawValue() para cada um dos campos de
dados existente.
Returns:‹ array ›
public AeonDigital\DataModel\Abstracts\aModel::__construct($config)
Inicia um novo modelo de dados.
O array de configuração deve ter a seguinte definição:

``` php
$arr = [
// string Nome do campo.
"name" => ,

// string Descrição do campo. (opcional)
"description" => ,

// iField[] Array contendo as instâncias dos campos que devem compor este
// modelo de dados.
"fields" => ,
];
```
Parameters:
  • ‹ array › $config
    Array associativo com as configurações para este modelo de dados.
Throws:

‹ InvalidArgumentException ›
Caso algum valor passado não seja válido.

public AeonDigital\DataModel\Abstracts\aModel::__call($name, $arguments)
Permite efetuar o auto-set de um dos campos quando este for do tipo reference.
Parameters:
  • ‹ string › $name
    Nome do método. É preciso ter o prefixo new e o nome do campo que será automaticamente definido.
  • ‹ array › $arguments
    Opcionalmente pode ser definido uma coleção de valores a serem definidos para a nova instância.
Returns:

‹ mixed ›

public AeonDigital\DataModel\Abstracts\aModel::__set($name, $value)
Permite efetuar o SET do valor de um campo utilizando uma notação amigável.
Internamente executa o método setFieldValue().
Não retorna nenhum valor, e, caso o valor passado não seja válido para este campo,
nenhuma alteração será feita sobre o valor pré-existente.
Parameters:
  • ‹ string › $name
    Nome do campo.
  • ‹ mixed › $value
    Valor a ser definido.
public AeonDigital\DataModel\Abstracts\aModel::__get($name)
Permite efetuar o GET do valor de um campo utilizando uma notação amigável.
Internamente executa o método getFieldValue().
Parameters:
  • ‹ string › $name
    Nome do campo.
Returns:

‹ mixed ›

public AeonDigital\DataModel\Abstracts\aModel::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
$oModel = new iModel();
foreach($oModel as $fieldName => $fieldValue) { … }
```
Returns:‹ \Traversable ›