Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/10/2009, 08:40
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 9 meses
Puntos: 2135
Respuesta: Ayuda manejo PHP OOP respecto a Java

Cita:
Iniciado por xlxScorpioxlx Ver Mensaje
El primero de ellos es la implementación de métodos estáticos. Cuando debo considerar que debo crear un método estático? No se supone que la creación de objetos debe ser únicamente con la instanciación de ellos con el constructor, o lo usamos debido a que no es posible la sobrecarga en PHP?
Los métodos estáticos son eso, estáticos por lo que no se crean y siempre tienen la misma ejecución dependiendo de los parámetros, se usan cuando no es necesario instanciar una copia de la clase y solo se necesita utilizar el método, es como declarar una función simple, por ejemplo si tienes una clase que se llame Math y un método Add, sería más trabajo instanciar el objeto Math y llamar al método Add a mejor declarar Add como estático y mandarlo llamar directamente.

El crear el objeto siempre es a travez de constructor, no hay otra forma, aunque sí puedes instanciar un objeto en un método estatico y luego regresar esa instancia, pero siempre se ejecuta el constructor al instanciar un objeto.

La sobrecarga como en Java no es posible, pero sí es posible hacerla, PHP dispone de la función get_func_args() que te devuelve los parámetros con los que fue llamada una función y puedes simular una sobrecarga.

Cita:
Iniciado por xlxScorpioxlx Ver Mensaje
El segundo es la delegación de responsabilidades. En el curso nos indicaban que métodos generales de acceso a la base de datos podían ser generalizados para las clases, pero no debería tener el manejador de bases de datos aparte (claro, todo esto tratando de usar el MVC).
La delegación de responsabilidades es un concepto más de diseño del sistema que una restricción, tu puedes diseñar el sistema como lo hayas planteado inclusive incrustando la capa de acceso en la lógica (mala idea), pero PHP no te restringe de ninguna forma, usa la forma que más te convenga y conozcas.

Cita:
Iniciado por xlxScorpioxlx Ver Mensaje
Tercero: no hay forma de delegar la construcción de la "interfaz" al javascript? sólo lo puedo usar cuando el usuario realiza alguna operación simple sobre el entorno?
PHP como sabes se ejecuta en el servidor, por lo que la tarea de la interfaz no se mete en nada, tu puedes diseñar la interfaz como más te parezca, ya sea Javascript, HTML, CSS, o inclusive otras tecnologicas como Flash, Flex, inclusive tecnologias para el escritorio como GTK, o WinForms.

Saludos.