O que são constantes de classe OOP em PHP?

O Que Sao Constantes De Classe Oop Em Php



Um paradigma de programação conhecido como Programação Orientada a Objetos (POO) permite que os usuários escrevam programas modulares e reutilizáveis. Constante o uso dentro de uma classe é um dos recursos do OOP. Constantes de classe em PHP são valores que não podem ser alterados depois de especificados. Eles são membros da classe e não estão associados a nenhuma instância de classe específica.

O que são constantes de classe em PHP?

Começar com, Constantes de classe referem-se a um valor que permanece constante ao longo de um script. Em OOP, permite ao programador definir um valor que tem um significado específico dentro da classe e não pode ser atualizado por nenhum dos métodos da classe. O const palavra-chave é usada para especificar constantes de classe , que recebem um valor constante ao longo do script.







A constante de classe é um valor definido dentro de uma classe que permanece constante durante toda a execução do programa. O termo const é usado para defini-los, seguido pelo nome e valor dessa constante. Uma vez definidos, eles não podem ser alterados durante o tempo de execução.



Por exemplo, podemos definir um constante de classe para o valor de Pi da seguinte maneira:



aula matemática {
PI constante = 3.14 ;
}


Aqui, definimos o constante de classe PI para a aula de matemática como 3.14. Como uma constante está vinculada à classe e não a uma instância de uma classe, podemos acessá-la sem uma instância como em:





eco Matemática::PI;


Em comparação com variáveis ​​regulares, constantes de classe têm algumas diferenças notáveis. Em primeiro lugar, eles são imutáveis, ou seja, não podem ser alterados uma vez definidos. Em segundo lugar, valores constantes diferenciam maiúsculas de minúsculas, ao contrário das variáveis ​​em PHP. Além disso, as constantes são definidas usando o const palavra-chave, enquanto as variáveis ​​usam o era palavra-chave, que é uma distinção importante.

Acessando Constantes de Classe

acessando constantes de classe pode ser feito de duas maneiras.



1: Usando a Resolução do Escopo (::)

Em primeiro lugar, o constantes de classe ser acessado usando o resolução de escopo (::) operador, como em:

Nome da turma::CONSTANT_NAME


Veja um exemplo:

< ?php
classe Pessoa {
const Nome = 'Larry' ;
const Idade = 32 ;
const Nacionalidade = 'Americano' ;
}
eco Pessoa::Nome, ' \n ' ;
eco Personagem, ' \n ' ;
eco Pessoa::Nacionalidade;
? >


No código acima, o Pessoa classe especifica Nome, Idade e Nacionalidade como três constantes . Cada constante tem uma string ou um valor inteiro definido para ela.

O :: O operador é usado em conjunto com o nome da constante para acessar o valor de uma constante de classe. Por exemplo, usamos a sintaxe Pessoa::Nome para recuperar o valor do Nome constante.

Finalmente, imprimimos os valores das constantes Name, Age e Nationality na tela usando o comando echo.

2: Usando a palavra-chave ‘self’

Alternativamente, também podemos acessar o constantes de classe dentro da própria classe usando o `auto` palavra-chave seguida pelo nome constante dado abaixo:

auto::CONSTANT_NAME


Veja um exemplo para acessar uma constante usando o auto palavra-chave.

< ?php
círculo de classe {
PI constante = 3.14159 ;
privado $radius ;
público função __construir ( $radius ) {
$este - > raio = $radius ;
}
público função Área ( ) {
retornar auto::PI * $este - > raio * $este - > raio;
}
}
$círculo = novo Círculo ( 16 ) ;
eco $círculo - > Área ( ) ;
? >


Neste exemplo acima, uma classe chamada Circle especifica uma propriedade privada chamada $radius e uma constante chamada PI. A fórmula utilizada pelo getArea() função para obter a área de um círculo é PI * raio * raio , onde PI é o valor da constante PI e radius é o valor do parâmetro $radius.

Dentro do getArea() método, utilizamos o auto palavra-chave seguida pelo nome da constante para obter o valor da constante PI: auto::PI .


Há algumas considerações a ter em mente ao definir constantes de classe . Em primeiro lugar, certifique-se de que o nome da constante de classe seja exclusivo dentro da classe. Em segundo lugar, ele deve seguir as mesmas convenções de nomenclatura dos nomes de classe, ou seja, usar Camel Case para constantes. Finalmente, é uma boa prática definir apenas valores escalares, como inteiros e strings, como constantes de classe .

Herança de Constantes de Classe

Outra característica importante de constantes de classe é que eles podem ser herdados por classes filhas. Em essência, uma subclasse pode acessar os valores constantes definidos por sua classe pai usando o método pai palavra-chave. Por exemplo:

< ?php
classe Animal {
const ANIMAL_TYPE = 'mamífero' ;
}
classe Cachorro estende Animal {
público função getType ( ) {
eco 'Cachorro é um' , pai::ANIMAL_TYPE;
}
}
$cachorro = novo Cão ( ) ;
$cachorro - > getType ( ) ;
? >


Nesta ilustração, a classe Animal possui uma constante com o valor “ mamífero ” nomeado ANIMAL_TYPE . O Cachorro é uma subclasse que deriva da classe Animal.

A função pública getType() da classe Dog simplesmente gera o valor da classe A NIMAL_TYPE constante acessando a constante da classe pai usando o pai::palavra-chave .

Finalmente, construímos um objeto de classe Dog e usamos o getType() função, que retorna o valor da constante herdada da classe Animal ANIMAL_TYPE .

Conclusão

O uso de constantes de classe é um componente chave da Programação Orientada a Objetos em PHP e outras linguagens de programação . usando constantes de classe , podemos evitar valores codificados no programa, o que pode ser um aborrecimento durante a atualização do código. É importante seguir as convenções de nomenclatura e ter em mente a acessibilidade das constantes de classe dentro do programa ao defini-las.