Cuando los desarrolladores a crear sitios web y aplicaciones en PHP, que pueden utilizar la programación orientada a objetos, donde las clases definen el comportamiento de los objetos que llevan a cabo una parte específica de la funcionalidad de la aplicación . Al escribir las declaraciones de clase , los desarrolladores definen objetos con propiedades y funciones particulares. En general , se accede a las funciones dentro de una clase a través de instancias de objetos de la clase , pero las funciones estáticas son funciones de una clase en sí . Programación orientada a objetos permite a los desarrolladores crear aplicaciones complejas de forma rápida , ya que los equipos de desarrolladores se centran en las distintas partes del código. Clases
En PHP, una declaración de clase normalmente tiene un nombre, variables y funciones . El código externo a una clase puede crear instancias de objetos que tienen su propia implementación de las variables y las funciones descritas en la declaración. En la mayoría de los casos , el código debe crear un objeto de una clase para llamar a sus funciones - a veces conocido como métodos - en línea con otros lenguajes de programación utilizados para el desarrollo orientado a objetos . Con funciones estáticas , este no es el caso, ya que las aplicaciones puedan acceder a la funcionalidad , con referencia a la propia clase.
Funciones
Cuando el código "cliente " necesita llamar una función de clase , puede hacerlo mediante la creación de una instancia de objeto de la clase antes de llamar a la función de esa instancia. El siguiente código de ejemplo muestra esto: $ helper = new Helper ( ), $ helper- > doSomething ();
Este código llama a un método llamado " doSomething ", que aparece dentro de la declaración de clase para "Ayudante " dentro de la aplicación . Si una función se declara como estática , código externo no tiene que llevar a cabo la primera línea, en la que se crea una instancia de la clase.
Llamar a funciones estáticas
< p> para llamar a una función estática dentro de una aplicación PHP, el código se puede utilizar el nombre de la clase : Helper :: doSomethingStatic ();
Este código sería llamar a un método descrito en la declaración de la clase de " ayudante ", como siguiente: doSomethingStatic función estática pública () {//método de aplicación }
Esto permite que el código para acceder a la funcionalidad general asociada a una clase y su área de responsabilidad dentro de la aplicación. También es posible llamar a funciones de clase estáticos utilizando instancias de objeto si su programa tiene estos modos, pero no tiene sentido crear un objeto si la única función que necesita es estática.
Usos
las funciones estáticas
sólo pueden ser utilizados eficazmente si el proceso se lleva a cabo no depende de los datos contenidos dentro de una instancia de clase . Muchos métodos de la clase utilizan los datos particulares de una instancia de clase , en cuyo caso la ejecución depende de la existencia de una instancia de clase existentes. Funciones estáticas no son dependientes de instancias de clase , por lo que no pueden utilizar las variables establecidas sólo para las instancias , tales como los establecidos por un método constructor de la clase . Al aplicar los métodos estáticos , los programadores deben ser conscientes de las variables en la clase que sólo se crean instancias cuando se crean objetos de la clase .