aField¶
-
class
AeonDigital\DataModel\Abstracts\aField¶ - Classe abstrata que implementa
iField.Parent: AeonDigital\BObjectImplements: AeonDigital\Interfaces\DataModel\iFieldUsed traits: AeonDigitalTraitsMainCheckArgumentException
Properties¶
Methods¶
-
public
AeonDigital\DataModel\Abstracts\aField::getName()¶ - Retorna o nome do campo.
Returns: ‹ string ›
-
public
AeonDigital\DataModel\Abstracts\aField::getDescription()¶ - Retorna a descrição de uso/funcionalidade do campo.
Returns: ‹ string ›
-
public
AeonDigital\DataModel\Abstracts\aField::getType()¶ - Retorna o nome completo da classe que determina o tipo deste campo.
Returns: ‹ string ›
-
public
AeonDigital\DataModel\Abstracts\aField::getInputFormat()¶ - Retorna o nome da classe que determina o formato de entrada que o valor a serarmazenado pode assumirOUretorna o nome de uma instrução especial de transformação de caracteres paracampos do tipo
string.Returns: ‹ ?string ›
-
public
AeonDigital\DataModel\Abstracts\aField::getLength()¶ - Retorna o tamanho máximo (em caracteres) aceitos por este campo.Deve retornar
nullquando não há um limite definido.Returns: ‹ ?int ›
-
public
AeonDigital\DataModel\Abstracts\aField::getMin()¶ - Retorna o menor valor possível para um tipo numérico ou
DateTime.Por padrão, herdará este valor da definição de seutypequando isto for aplicável.Returns: ‹ ?int | ?\AeonDigital\Numbers\RealNumber | ?\DateTime ›
-
public
AeonDigital\DataModel\Abstracts\aField::getMax()¶ - Retorna o maior valor possível para um tipo numérico ou
DateTime.Por padrão, herdará este valor da definição de seutypequando isto for aplicável.Returns: ‹ ?int | ?\AeonDigital\Numbers\RealNumber | ?\DateTime ›
-
public
AeonDigital\DataModel\Abstracts\aField::isAllowNull()¶ - Indica se é ou não permitido atribuir
nullcomo um valor válido para este campo.Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::isAllowEmpty()¶ - Indica se é ou não permitido atribuir
''como um valor válido para este campo.Returns: ‹ ?bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::isConvertEmptyToNull()¶ - Define se, ao receber um valor
'', este deverá ser convertido paranull.Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::isReadOnly()¶ - Indica se este campo é ou não
readonly.Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::isReference()¶ - Indica quando este campo é do tipo reference, ou seja, seu valor é ummodelo de dados.
Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::isCollection()¶ - Indica quando trata-se de um campo capaz de conter uma coleção de valores.
Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::isValid()¶ - Informa se o campo tem no momento um valor que satisfaz os critérios de validaçãopara o mesmo.
Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::getState()¶ - Retorna o código do estado atual deste campo.Campos SimplesRetornará
validcaso o valor definido seja válido, ou o código da validaçãoque caracteríza a invalidez deste valor.Campos "reference"Retornarávalidse TODOS os campos estiverem com valores válidos. Casocontrário retornará umarrayassociativo contendo o estado de cada um dos camposexistêntes.Campos "collection"Retornarávalidcaso TODOS os valores estejam de acordo com os critérios devalidação ou umarraycontendo a validação individual de cada ítem membro dacoleção.Returns: ‹ string | array ›
-
public
AeonDigital\DataModel\Abstracts\aField::getLastValidateState()¶ - Retornará o resultado da validação conforme o tipo de campo testado.Campos SimplesRetornará
validcaso o valor definido seja válido, ou o código da validaçãoque caracteríza a invalidez deste valor.Campos "reference"Retornarávalidse TODOS os campos estiverem com valores válidos. Casocontrário retornará umarrayassociativo contendo o estado de cada um dos camposexistêntes.Campos "collection"Retornarávalidcaso TODOS os valores estejam de acordo com os critérios devalidação ou umarraycontendo a validação individual de cada ítem membro dacoleção.Returns: ‹ string | array ›
-
public
AeonDigital\DataModel\Abstracts\aField::getLastValidateCanSet()¶ - Retornará
truecaso a última validação realizada permitir que o valor testadoseja definido para este campo.Campos SimplesValores inválidos podem ser definidos quando eles forem do mesmotypedeste campo.Campos "reference"Se TODOS os valores passados para um modelo de dados puderem ser assumidos por seusrespectivos campos, então tais dados poderão ser utilizados para preencher a instância.Campos "collection"Se TODOS os valores membros para uma coleção de dados puderem ser setados,independente de serem válidos, então, a coleção poderá assumir aquele grupo de dados.Returns: ‹ bool ›
-
public
AeonDigital\DataModel\Abstracts\aField::validateValue($v)¶ - Verifica se o valor indicado satisfaz os critérios que permitem dizer que o valorpassado é válido.Valores especiais e seus efeitos
undefinedSempre falhará na validação.nullFalhará se o campo não permitir este valor [ veja propriedadeallowNull].''Falhará se o campo não permitir este valor e estiver com a conversão de''emnulldesabilitada [ veja as propriedadesallowEmptyeconvertEmptyToNull].[]Falhará SEMPRE para campos que não foremcollection.Validação dos Campos SimplesA validação é feita seguindo os seguintes passos:1. Verifica se o campo está apto a receber um valor ou se ele é do tiporeadOnly.2. Verifica se o valor cai em algum dos valores especiais citados no tópico anterior.3. Verifica se o valor não é um objeto de um tipo não aceito.Os tipos aceitos para campos simples são:bool,int,float,RealNumber,DateTime,string4. Validação de tipo:4.1. Havendo uminputFormatdefinido, identifica se o valor passa em suarespectiva validação.4.2. Verifica se o valor passado é um representante válido do tipo base do campo.5. Verificação de adequação:5.1. Enumerador, se houver, verifica se o valor está entre os itens válidos.5.2. Sendo um campostringe existindo uma definição de tamanho máximo[ propriedadelength] verifica se o valor não excede seu limite.5.3. Sendo um campo numérico ou de data e existindo limites definidos para seusvalores mínimos e máximos, identifica se o valor passado não excede algum desteslimites.Valores aceitáveisnull,bool,int,float,RealNumber,DateTime,stringRegras de aceitaçãoNo passo 4.1, caso falhe na validação deinputFormatmas tanto o valor passadoquanto o próprio campo são do tipostringocorrerá que a validação não impediráque tal valor seja definido para este campo, mas ele ficará com o estado inválido.Com excessão da regra especificada acima, falhas ocorridas até o passo 5 invalidatotalmente o valor para poder ser definido como o valor do campo atual.Falhas ocorridas no passo 5, apesar de falhar na validação, indica que o valor poderápassar a representar o valor atual do campo mas seu estado passará a ser "inválido".Validação de Campos "reference"A validação é feita tentando usar o conjunto de valores passado para que ele preenchaos campos de um modelo de dados do mesmo tipo que este campo está apto a representar.É preciso que TODAS as respectivas chaves de dados compatíveis com o modelo dedados representado pelo campo possam ser aceitos (independente de serem válidos) paraque o objeto seja validado.Valores aceitáveisnull,iterable,array,iModelValidação de Campos "collection"A validação é feita submetendo cada um dos membros da coleção indicada a seurespectivo tipo de validação. Os dados serão utilizados pelo campo se todos os membrosapresentados puderem ser definidos.Valores aceitáveisnull,arrayParameters: - ‹ mixed › $v
Valor que será testado.
Returns: ‹ bool ›
- ‹ mixed › $v
-
public
AeonDigital\DataModel\Abstracts\aField::getDefault($getInstruction=false)¶ - Retorna o valor padrão que este campo deve ter caso nenhum outro seja definido.Se
defaultnão for definido,undefinedserá retornado.Parameters: - ‹ bool › $getInstruction
Quandotrue, retorna o nome da instrução especial que define o valor padrão.
Returns: ‹ mixed ›
- ‹ bool › $getInstruction
-
public
AeonDigital\DataModel\Abstracts\aField::getEnumerator($getOnlyValues=false)¶ - Retorna um
arraycom a coleção de valores que este campo está apto a assumir.Os valores aqui pré-definidos devem seguir as mesmas regras de validade especificadasnas demais propriedades.Parameters: - ‹ bool › $getOnlyValues
Quandotrue, retorna um array unidimensional contendo apenas os valores válidos de serem selecionados sem seus respectivoslabels.
Returns: ‹ ?array ›
- ‹ bool › $getOnlyValues
-
public
AeonDigital\DataModel\Abstracts\aField::setValue($v)¶ - Define um novo valor para este campo.O valor passado será validado e será definido caso seu valor seja condizente com asregras de aplicação especificadas na descrição do método
validateValue().Define um novo valor para este campo.undefinedEste valor NUNCA será aceito por nenhum tipo de campo e em qualquer circunstância.Campos SimplesPara que o campo assuma o novo valor ele precisa ser compatível com otypedefinido.Caso contrário o campo ficará com o valornull.Valores aceitáveisnull,bool,int,float,RealNumber,DateTime,stringCampos "reference"Campos deste tipo apenas aceitarão valores capazes de preencher os campos do modelode dados ao qual eles se referenciam. Independente de tornar o modelo de dados válidoou não, os valores serão definidos exceto se o valor passado for incompatível com omodelo de dados configurado.Valores aceitáveisnull,iterable,array,iModelCampos "collection"Uma coleção de dados sempre será definida como o valor de um campo que aceite estetipo de valor.Os membros da coleção serão convertidos para o tipotypedefinido. Membros quenão possam ser convertidos serão substituidos pornulle a coleção será inválidaaté que estes membros sejam removidos ou substituídos.Coleções do tipo reference apenas serão redefinidos se TODOS seus itens foremcapazes de tornarem-se objetosiModeldo tipo definido para este campo.Valores aceitáveisnull,arrayEstado e validaçãoIndependente de o valor vir a ser efetivamente definido para o campo o estado davalidação pode ser verificado usandogetLastValidateState().Uma vez que o valor seja definido, o campo passa a assumir o estado herdado davalidação e poderá ser verificado emgetState().Parameters: - ‹ mixed › $v
Valor a ser definido para o campo.
Returns: ‹ bool ›
Retornarátruese o valor tornou o campo válido oufalsecaso agora ele esteja inválido. Também retornaráfalsecaso o valor seja totalmente incompatível com o campo. - ‹ mixed › $v
-
public
AeonDigital\DataModel\Abstracts\aField::getValue()¶ - Retorna o valor atual deste campo.undefinedEste valor será retornado ENQUANTO o campo AINDA não foi redefinido com qualqueroutro valor. Esta regra se aplica para campos simples e reference.Campos SimplesO valor retornado estará sempre no mesmo
typeque aquele que o campo estáconfigurado para assumir. Havendo alguma formatação indicada eminputFormat, estaserá usada sobrepondo-se aotype.Campos "reference"Estes campos apenas são capazes de retornar valoresundefined,nullou umarrayassociativo representando o respectivo modelo de dados que ele está configurado parareceber.Campos "collection"O valor retornado será SEMPRE umarraycontendo os itens atualmente definidos.Estes itens serão retornados conforme as regras definidas acima para campos simples.Coleções do tipo reference apenas retornarão umarrayde arrays associativosrepresentando a coleção de modelos de dados que o campo está apto a utilizar.Um collection em seu estado inicial retornará sempre umarrayvazio.Returns: ‹ mixed ›
-
public
AeonDigital\DataModel\Abstracts\aField::getStorageValue()¶ - Retorna o valor atual deste campo em seu formato de armazenamento.undefinedO valor
nullserá retornado no lugar deundefinedpara campos simples ereference.Campos SimplesO valor retornado estará sempre no mesmotypeque aquele que o campo estáconfigurado para assumir. Qualquer regra para REMOÇÃO de formatação será aplicadacaso exista.Campos "reference"Estes campos apenas são capazes de retornar valoresnullou arrays associativosrepresentando o respectivo modelo de dados que ele está configurado para receber.Campos "collection"O valor retornado será SEMPRE umarraycontendo os itens atualmente definidos.Estes itens serão retornados conforme as regras definidas acima para campos simples.Coleções do tipo reference apenas retornarão umarrayde arrays associativosrepresentando a coleção de modelos de dados que o campo está apto a utilizar.Campos do tipo collection em seu estado inicial retornarsão sempre umarrayvazio.Coleções que possuam valores inválidos entre seus membros também retornarão umarrayvazio.Returns: ‹ mixed ›
-
public
AeonDigital\DataModel\Abstracts\aField::getRawValue()¶ - Retorna o valor que está definido para este campo assim como ele foi passado em
setValue().Returns: ‹ mixed ›
-
public
AeonDigital\DataModel\Abstracts\aField::__construct($config)¶ - Inicia um novo campo de dados.O
arrayde configuração deve ter a seguinte definição:``` php$arr = [// string Nome do campo."name" => ,// string Descrição do campo. (opcional)"description" => ,// string Nome completo de uma classe que implemente a interface "iSimpleType".// OU "ref" para identificar que este campo referencia-se a um outro modelo// de dados."type" => ,// string Nome completo de uma classe que implemente a interface "iFormat". (opcional)"inputFormat" => ,// int Tamanho máximo do campo em caracteres. (opcional)// Se não for definido explicitamente poderá herdar das informações// indicadas em "inputFormat"."length" => ,// mixed Valor mínimo aceito para este campo. (opcional)// Use apenas para casos de campos numéricos ou data/hora."min" => ,// mixed Valor máximo aceito para este campo. (opcional)// Use apenas para casos de campos numéricos ou data/hora."max" => ,// bool Indica se "null" é um valor aceito para este campo. (opcional)"allowNull" => ,// bool Indica se "" é um valor aceito para este campo. (opcional)"allowEmpty" => ,// bool Indica se, ao receber um valor "", este deve ser convertido para "null". (opcional)"convertEmptyToNull" => ,// bool Indica se o campo é apenas de leitura.// Neste caso ele poderá ser definido apenas 1 vez e após// isto seu valor não poderá ser alterado. (opcional)"readOnly" => ,// mixed Valor padrão para este campo. (opcional)"default" => ,// array|string Coleção de valores válidos para este campo. (opcional)// Se for definido uma string, deve ser o caminho completo até um arquivo php// que contêm o array a ser utilizado como enumerador."enumerator" => ,// mixed Valor que inicia com o campo."value" => ,];```Parameters: - ‹ array › $config
arrayassociativo com as configurações para este campo.
Throws: ‹ InvalidArgumentException ›
Caso algum valor passado não seja válido. - ‹ array › $config