Quando os desenvolvedores a criar sites e aplicações em PHP, eles podem usar a programação orientada a objeto, onde classes definem o comportamento de objetos que realizam uma parte específica da funcionalidade da aplicação . Ao escrever declarações de classe , os desenvolvedores definir objetos com propriedades e funções específicas . Em geral, as funções dentro de uma classe são acessados através de instâncias de objetos da classe , mas funções estáticas são funções da própria classe. Programação orientada a objetos permite aos desenvolvedores criar aplicações complexas rapidamente, como equipes de desenvolvedores se concentrar em partes individuais do código. Classes
PHP, uma declaração de classe normalmente tem um nome, variáveis e funções. O código externo a uma classe pode criar instâncias de objetos que têm a sua própria implementação das variáveis e funções descritas na declaração. Na maioria dos casos , o código deve criar um objeto de uma classe para chamar suas funções - por vezes referido como métodos - em linha com outras linguagens de programação utilizadas para o desenvolvimento orientado a objetos. Com funções estáticas , este não é o caso, como os aplicativos podem acessar a funcionalidade com referência para a própria classe .
Funções
Quando o código " cliente " precisa chamar uma função de classe , ele pode fazê-lo através da criação de uma instância de objeto da classe antes de chamar a função nessa instância . O seguinte código de exemplo demonstra isso: $ helper = new Helper (); $ helper- > doSomething ();
Este código chama um método chamado " doSomething ", que está listado dentro da declaração de classe para " ajudante" dentro do aplicativo. Se uma função é declarada como estática, o código externo não precisa realizar a primeira linha , em que a classe é instanciado.
Chamando funções estáticas
para chamar uma função estática de uma aplicação PHP , o código pode usar o nome da classe : Ajudante :: doSomethingStatic ();
Este código deve chamar um método descrito na declaração de classe para " ajudante ", como seguinte forma: public static function doSomethingStatic ( ) {//implementação do método }
Esta permite que o código para acessar a funcionalidade , geralmente associado a uma classe e de sua área de responsabilidade dentro do aplicativo. Também é possível chamar funções de classe estáticos usando instâncias de objetos , se o seu programa tem estes de qualquer maneira, mas não há nenhum ponto de criar um objeto se a única função que você precisa é estático.
Usa
funções estático só pode ser utilizado de forma eficaz se o processo a ser realizado não é dependente dos dados contidos dentro de uma instância da classe. Muitos métodos de classe usar os dados em particular para uma instância de classe , caso em que a execução depende da existência de uma instância de classe existentes. Funções estáticas não são dependentes de instâncias de classe , de modo que não pode usar variáveis definidas somente para instâncias , tais como os estabelecidos por um método construtor da classe. Ao implementar métodos estáticos , os programadores devem estar cientes de todas as variáveis na classe que só são instanciados quando objetos da classe são criadas.