Novidades do PHP 7.1 – Parte 02 – Visibilidade de constantes em classes

php_logoBoa noite pessoal,

Hoje venho falar de uma das implementações mais simples do PHP 7.1, porem de extrema importancia para a linguagem.

As constantes de POO estão ganhando mais uma característica na qual se aproxima das demais linguagens, as chaves de visibilidade.

Constantes

Para quem ainda não conhece ou nunca utilizou uma constante no PHP, basicamente ela é um atributo cujo seu valor nunca pode ser modificado. No PHP, uma constante é declarada utilizando a palavra-chave “const”.

Exemplo de constante no PHP(antes do 7.1)

class Exemplo
{

    const VALOR_PI = 3.14159265359;

}

No exemplo acima, estou definindo que a classe “Exemplo” possui uma constante “VALOR_PI” cujo seu valor sempre será “3.14159265359”. Uma vez definido, esse valor não poderá ser modificado.

Porem, antes da implementação que será adicionada agora no PHP 7.1, você pode acabar criando certos problemas, pois constantes não possuiam definições de visibilidade, o que significa que esse valor poderá ser referenciado em qualquer parte do código-fonte, mesmo que você não deseje que ele seja deferenciado.

Definições de visibilidade em constantes

No PHP 7.1, foi adicionado as definições de visibilidade em constantes, onde você poderá definir que qualquer parte do código-fonte poderá enxergá-la(public), somente classes filhas(protected) ou somente a própria classe(private), se aproximando da forma de como as constantes são escritas nas demais linguagens POO.

Exemplo de constante no PHP 7.1

class Exemplo
{

    protected const RAIO = 5.3; //Essa constante poderá ser lida pela própria classe e classes filhas

    private const VELOCIDADE_LUZ = 300000; //Essa constante poderá ser lida somente pela própria classe
 
    public const VALOR_PI = 3.14159265359; //Essa constante poderá ser lida em qualquer parte do código-fonte

}

Abaixo estou deixando o link oficial do RFC que está documentado essa mudança. Qualquer dúvida, não deixe de comentar.

Espero que tenham gostado. Até a próxima pessoal!

PHP 7.1 – RFC: Support Class Constant Visibility

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s