Declarando membros ou métodos de uma classe como estáticos, faz eles "chamáveis" de fora do contexto do objeto. Um membro ou método declarado com static não pode ser acessado com uma variável que é uma instância do objeto e não pode ser redefinido em uma subclasse.
A declaração static deve estar depois da declaração de visibilidade. Por compatibilidade com o PHP 4, se nenhum declaração de visibilidade for usada, então o membro ou método será tratado como se fosse declarado como public static.
Como métodos estáticos podem ser chamados sem uma instância do objeto ter sido criada, a pseudo-variável $this não é disponível dentro do método declarado como estático.
De fato, chamadas a métodos estáticos são resolvidas em tempo de compilação. Quando usando um nome de classe explícito o método já é identificado completamente e nenhuma das regras de herança se aplicam. Se a chamada for feita por self então self é traduzido para a classe atual, isso é, a classe à qual o código pertence. Aqui também não se aplicam as regras de herança.
Propriedades estáticas não podem ser acessadas pelo objeto usando o operador seta ->.