| ||||
Acceder a una variable privada en una funcion estatica Buenas noches a todos, de pronto es una pregunta hasta tonta, pero en verdad estoy hecho una ensalada buscando soluciones. Trato de hacer referencia a una variable privada dentro de una funcion estatica dentro de una clase php. Sera que me dan una manita.
__________________ Ingeniero Industrial, Tecnologo en Sistemas |
| |||
Respuesta: Acceder a una variable privada en una funcion estatica No se puede, piensa que es lo que esta haciendo que seguramente hay una mejor solucion para ello :) Saludos |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica Si la función estatica pertenece a la misma clase puedes hacer algo así:
Código PHP:
Ver original Saludos. |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica Que bien, me funciono a las mil maravillas. No habia respondido antes, por que como en las primeras respuestas al post me dijeron que no se podia, me puse a rehacer el codigo, pero ya estaba que me pegaba un tiro. menos mal se me dio por volver a entrar al foro. De nuevo muchas gracias. Una ultima cosita, es que apenas me adentro en la POO en php y bueno ya se que funciona, pero la verdad no se que fue lo que hiciste aqui: Cita:
Iniciado por GatorV Si la función estatica pertenece a la misma clase puedes hacer algo así:
Código PHP:
Ver original Saludos.
__________________ Ingeniero Industrial, Tecnologo en Sistemas |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica Cita: Dentro del método se crea una instancia de la propia clase y desde ahí accede al método privado (ya que está dentro de la misma definición). Si no fuera un método estático, sería equivalente a hacer:
Código PHP:
Ver original Ahora, la pregunta es: ¿esa instancia se destruye automáticamente al ejecutarse el método?
__________________ I ♥ The Music! |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica Así es, se destruye al finalizar la ejecución de la función, el Garbage Collector de PHP se encarga de hacerlo. Saludos. |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica Señores muchas gracias por la explicacion, despues de analizarlo (Varias veces, debo reconocer), le veo la logica al asunto, es como hacer una funcion recursiva. Dentro del metodo estatico cuando se llame no va a existir ninguna instancia de la clase, por lo tanto, tampoco existira ninguno de sus atributos, es por eso que creamos la instancia de la clase dentro del metodo estatico, para poder acceder a sus atributos dentro del contexto del metodo. (creo que es asi el cuento ). Probablemente acuda muy a menudo al foro, por ayuda. Estoy en medio de un proyecto en PHP algo grande y soy un completo NOOB en esto de la POO. muchas gracias, nuevamente.
__________________ Ingeniero Industrial, Tecnologo en Sistemas |
| |||
Respuesta: Acceder a una variable privada en una funcion estatica Yo creo que tendrías que tener en claro qué es un método estático. Cuando utilizas objetos hay clases y hay instancias, los objetos son instancias de una clase determinada. Los métodos NO estáticos son los que se definen para las instancias, en cambio los estáticos son los que se definen para la clase. Si hablamos en término de objetos y mensajes, cuando la clase recibe un mensaje, se evalúa un método estático. En cambio cuando una instancia recibe el mensaje se evalúa un método no estático. Comentario al margen para el que le interese: si estudias un poco más de objetos en otros lenguajes de objetos puros cómo Smalltalk o Ruby vas a ver por qué en php y en muchos lenguajes existen los métodos static y de donde viene la palabra "static" y es que justamente son métodos que se resuelve por early binding en lugar de late binding, lo cual los hace no dinámicos. |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica Estimado, Nos puedes contar para qué quieres entrar en estas complicaciones cuando estimo que podrías hacer algo más directo y sencillo? POO es más que jugar con sintaxis, a veces respondemos dudas de código sin pregunta siquiera por qué lo están intentando hacer, y tal vez ahí esté el problema, en el diseño de la solución. Saludos |
| |||
Respuesta: Acceder a una variable privada en una funcion estatica Cita: +1 :p
Iniciado por enriqueplace estimado, nos puedes contar para qué quieres entrar en estas complicaciones cuando estimo que podrías hacer algo más directo y sencillo? Poo es más que jugar con sintaxis, a veces respondemos dudas de código sin pregunta siquiera por qué lo están intentando hacer, y tal vez ahí esté el problema, en el diseño de la solución. Saludos |
| ||||
Respuesta: Acceder a una variable privada en una funcion estatica pues no entiendo, para empezar... si la variable es privada, ¿cual necesidad de acceder a ella desde un método estático?? vamos, entiendo que los métodos estáticos son como "públicos", de modo que no le hayo coherencia al problema... si, en definitiva es un problema de diseño... (:
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
Etiquetas: |