Guia rápido para propriedades estáticas do PHP
O objetivo deste artigo é apresentar o conceito de propriedades estáticas do PHP , incluindo como você pode declará-las e usá-las em seu código.
Também discutiremos alguns casos de uso úteis para propriedades estáticas, bem como algumas práticas recomendadas.
A propriedade estática do PHP é uma propriedade compartilhada por todas as instâncias da classe.
Uma propriedade estática, em contraste com uma propriedade regular, pertence à própria classe e não pertence a nenhuma instância específica da classe. Isso significa que quaisquer alterações feitas em qualquer propriedade estática de um objeto terão efeito em todos os outros objetos que compartilham a mesma propriedade.
Propriedades estáticas do PHP
As propriedades estáticas do PHP são propriedades que pertencem a uma classe em geral e não são específicas de nenhuma instância dessa classe em particular.
As propriedades estáticas do PHP são variáveis de nível de classe que são compartilhadas por todas as instâncias de uma classe.
Eles são declarados usando a palavra-chave static e podem ser acessados usando o operador de resolução de escopo :: .
As propriedades estáticas são definidas dentro da definição de classe, mas fora de qualquer método. Eles podem ser inicializados com um valor padrão ou não inicializados.
Sintaxe
<?php class ClassName { public static $staticProp = "mrexamples"; } ?>
Sintaxe
ClassName::staticProp;
Como exemplo, vejamos o seguinte:
Example:
Exemplo de Explicação
Aqui, declaramos uma propriedade estática: $name .
Em seguida, repetimos o valor da propriedade estática usando o nome da classe, dois pontos duplos ( :: ) e o nome da propriedade (sem criar uma classe primeiro).
Definimos uma classe chamada Website com uma única propriedade estática chamada $name .
A propriedade $name é definida como “ mrexamples.com “.
Para acessar uma propriedade estática, usamos o operador de resolução de escopo (::) seguido do nome da classe e do nome da propriedade estática. Neste caso, acessamos a propriedade $name da classe Website utilizando a seguinte sintaxe :
Website::$name
A instrução echo então gera o valor da propriedade $name, que é “mrexamples.com”.
Existem métodos estáticos e métodos não estáticos que podem ser encontrados em uma classe.
Usando a palavra-chave self , bem como os dois pontos duplos ( :: ), você pode obter acesso a uma propriedade estática de outro método na mesma classe:
Example:
Example:
Exemplo de Explicação
O código acima define uma classe Website com uma propriedade estática $name definida com o valor “ mrexamples.com ” que contém uma tag de quebra de linha HTML. Ele também define uma classe filha Printing que estende Website.
A classe Printing tem um método printingStaticStr() que retorna o valor da propriedade $name usando a sintaxe parent::$name . Este método pode ser usado para acessar a propriedade estática da classe pai Website.
Na próxima seção, o código imprime o valor da propriedade $name da classe Printing usando Printing::$name. Isso resultará em “mrexamples.com”, pois a propriedade $name é herdada da classe pai Website.
Finalmente, o código cria um objeto $printing da classe Printing usando $printing = new Printing() . Esta linha de código cria um novo objeto da classe Printing.
O código então chama o método printingStaticStr() no objeto $printing usando $printing->printingStaticStr() . Este método retorna o valor da propriedade $name da classe pai Website usando a sintaxe parent::$name . Como o valor da propriedade $name contém uma tag de quebra de linha HTML, a saída conterá uma quebra de linha entre “mrexamples.com” e qualquer saída subsequente.
As propriedades estáticas do PHP também podem ser usadas para armazenar dados compartilhados em várias instâncias de uma classe ou para acompanhar o estado global em um aplicativo.