Guia rápido para constantes de classe em php

Neste artigo, exploraremos o conceito de constantes de classe PHP , como elas funcionam e por que são úteis.

O termo Constante de classe  em Programação Orientada a Objetos PHP ( OOP ) refere-se a um membro de dados que é definido na classe e cujo valor não pode ser alterado enquanto a classe está em execução.

O uso de constantes de classe PHP pode tornar mais fácil e eficiente o gerenciamento de dados compartilhados em todas as instâncias ( objetos ) de uma classe da mesma maneira.



Constantes de Classe PHP – O que são?

No PHP , uma constante de classe é um valor associado a uma classe e não a uma instância específica da classe.

As constantes de classe PHP são semelhantes às constantes regulares , mas estão associadas a uma classe específica e podem ser acessadas usando o nome da classe.

Depois que uma constante é declarada, ela não pode ser alterada.

É sensível a maiúsculas e minúsculas. Apesar disso, é preferível que os nomes das constantes sejam dados em letras maiúsculas.

Quando você precisa definir alguns dados constantes em uma classe, pode usar constantes de classe como uma forma de definir esses dados.

As constantes de classe são definidas usando a palavra-chave const  seguida pelo nome e valor da constante.

Aqui está um exemplo:

class MrxClass {
const MY_CONSTANT = 'Hello, Developer!';
}

Acima definimos uma classe chamada MrxClass com uma constante chamada MY_CONSTANT e um valor de “Hello, Developer!”.

Lembre-se : as constantes de classe do PHP são normalmente escritas em letras maiúsculas.

Acessando constantes de classes do PHP

Para acessar uma constante de fora da classe, devemos usar o nome da classe junto com o operador de resolução de escopo ( :: ) seguido do nome da constante, como no exemplo a seguir:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Greeting
{
const WELCOME_MSG = "Welcome to mrexamples.com!";
}
echo Greeting::WELCOME_MSG;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Abaixo está outro exemplo de uso de constante de classe e acesso fora da classe:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class Circle{
const PI=M_PI;
function areaOfCircle($radius){
$area_of_circle=($radius**2)*(self::PI);
return $area_of_circle;
}
}
$aoc=new Circle();
echo "PI=". Circle::PI . "<br>";//Printing const value outside the class
echo "Area of Circle is=" . $aoc->areaOfCircle(3);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Você também pode acessar uma constante de dentro de uma classe usando a palavra-chave self seguida do operador de resolução de escopo (::) seguido do nome da constante, conforme mostrado no exemplo abaixo:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class Greeting
{
const WELCOME_MSG = "Welcome to mrexamples.com!";
public function welcome()
{
echo self::WELCOME_MSG;
}
}
$greeting = new Greeting();
$greeting->welcome();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Abaixo está outro exemplo para compreensão sólida do uso de constante de classe e exibição dentro da classe:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class Circle{
const PI=M_PI;
function areaOfCircle($radius){
echo "PI=". Circle::PI . "<br>"; //Printing const value inside the class
$area_of_circle=($radius**2)*(self::PI);
return $area_of_circle;
}
}
$aoc=new Circle();
//round() is used to round float values with 2 decimal places
echo "Area of Circle is= " . round($aoc->areaOfCircle(3), 2);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O exemplo acima define uma classe chamada Circle que tem uma constante chamada PI  com um valor de M_PI , que é uma constante interna do PHP para a constante matemática pi (3.1415926535898…) .
A classe também possui uma função chamada “ areaOfCircle ” que pega um parâmetro chamado “$radius” e calcula a área de um círculo usando a fórmula (pi xr^2), onde “pi” é o valor da constante “PI” e “r” é o raio.
Dentro da função “areaOfCircle”, a constante “PI” é acessada usando o operador de resolução de escopo (::) e impressa usando a instrução “echo”.
A palavra-chave “self” é usada para se referir à própria classe, e a constante “PI” é acessada usando “self::PI” em vez de “Circle::PI” dentro da função “areaOfCircle”.
Finalmente, uma instância da classe “Circle” é criada e a função “areaOfCircle” é chamada com um valor de raio de 3. O resultado é arredondado para duas casas decimais usando a função “round” e impresso usando a instrução echo .
No geral, este código demonstra como usar uma constante de classe para armazenar um valor comumente usado ( pi ) em uma classe PHP e como acessá-lo e usá-lo dentro de uma função de classe para realizar um cálculo.

Constantes de Classe do PHP vs. Propriedades de Classe

  • As constantes de classe PHP não podem ser alteradas depois de definidas, enquanto as propriedades de classe podem ser modificadas durante o tempo de vida de um objeto.
  • As constantes de classe são associadas a uma classe específica, enquanto as propriedades de classe são associadas a instâncias da classe.
  • As constantes de classe são úteis para armazenar valores que não devem ser alterados durante a execução do script, como valores de configuração ou chaves de API.
  • As constantes de classe PHP fornecem uma maneira de nomear e organizar valores associados a uma classe específica, tornando o código mais fácil de ler e entender.

Constantes de Classe PHP e Constantes Mágicas

O PHP também possui um conjunto de constantes predefinidas conhecidas como constantes mágicas , que fornecem informações sobre o ambiente do script atual.

É importante observar que as constantes mágicas não são constantes de classe e não podem ser acessadas usando a notação de dois pontos :: .

Aqui está uma lista de algumas das constantes mágicas mais comumente usadas:

Constantes Mágicas Visão geral
LINHA O número da linha atual do arquivo.
ARQUIVO O caminho completo e o nome do arquivo.
DIR O diretório do arquivo.
FUNÇÃO O nome da função atual.
AULA O nome da classe atual.
CARACTERÍSTICA O nome da característica atual.
MÉTODO O nome do método atual.
NAMESPACE O nome do namespace atual .
Por favor, assine nosso boletim informativo abaixo para se manter atualizado com todos os últimos desenvolvimentos em PHP e aprender mais sobre a linguagem.
Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone