Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

TADs en PHP

Estas en el tema de TADs en PHP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos a toda la comunidad, llevo un cierto tiempo con PHP (un añito mas o menos) y hasta ahora no me había encontrado con la ...
  #1 (permalink)  
Antiguo 18/03/2010, 12:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 1
TADs en PHP

Saludos a toda la comunidad,

llevo un cierto tiempo con PHP (un añito mas o menos) y hasta ahora no me había encontrado con la necesidad de obtener implementaciones de TADs.

Concretamente, estoy interesado en la implementación de una lista ordenada, donde el método de ordenación de los objetos lo implemente yo. No sé como funciona esto en PHP, pero en Java (que es con lo que he trabajado previo a PHP) es algo muy común y se basa en la herencia, polimorfismo y demás propiedades de la orientación a objetos por lo que deduzco que PHP también dispondrá de herramientas parecidas.

Si alguien conoce alguna implementación concreta o puede aportar algo sobre como se enfoca el mundo de las implementaciones de TADs en PHP me sería de gran ayuda, ya que, para mi sorpresa, me está costando mas de lo previsto encontrar referencias y recursos en este sentido.

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 18/03/2010, 14:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: TADs en PHP

Yo de nuevo, con un apaño que resuelve la necesidad de una lista ordenada, aunque sigo interesado en otras propuestas ya que no dudo que debe haber soluciones mucho más completas.

Lo que he hecho ha sido, a partir del código que he encontrado en este mismo sitio :

http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_ordenar_un_array_por_el_m%C3%A 9todo_de_ordenaci%C3%B3n_directa%3F

he creado una clase OrderedList, con una propiedad "elements" donde se guardará la lista ordenada. Los métodos que aparecen los he puesto como privados ya que serán métodos auxiliares de la clase que no se usarán (ni se deben conocer) desde fuera de la misma.

En el caso concreto que necesito voy a guardar en la lista objetos de tipo NoteBean con una serie de propiedades, entre ellas una fecha que es la que define el orden entre ellos. Así que he realizado los siguientes pasos:

1.- En la clase Notebean he creado un método público "compareTo($pNoteBean)". En este método he definido el orden entre beans, devolviendo -1 si $this>$pNoteBean, 0 si $this==$pNoteBean y 1 si $this<$pNoteBean.

2.- En la clase OrderedList he sustituido la comparación que se lleva a cabo en el método "buscarPosicion" para que en lugar de hacer:
$array[$i] > $numero

Haga:
$numero->compareTo($array[$i]) > 0

(Donde $numero y array[$i] son de tipo NoteBean).

Y con esto y un par de retoques he conseguido una implementación para una lista ordenada.....

....tengo serias dudas de que haya quedado clara mi explicación pero espero que al menos sirva de orientación. De todos modos, como ya he dicho, me interesaría conocer soluciones que se proponen en php para algo tan común en programación como el uso de TADs.

Saludos!
  #3 (permalink)  
Antiguo 19/03/2010, 06:12
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: TADs en PHP

Que tal Lamakun

Ya veo que encontraste la solución , solo quería comentarte que los TADs son simplemente eso, como dice la definición, un "tipo de dato abstracto" y en teoría deberías poder construir cualquier tipo a partir de un lenguaje POO.

Si bien PHP no es de los más puros en temas de POO, por más que no tengan algunas características como Java que te pueden ayudar, la idea de los TADs es que son independientes al lenguaje (como bien lo resuelves luego).

Resumiendo, lo que quiero decir es que no debería ser muy distinto hacer un TAD en PHP, es aplicar los conceptos base.

Abrazos
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #4 (permalink)  
Antiguo 22/03/2010, 04:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: TADs en PHP

Hola Enrique,

gracias por tu aportación. Mayormente me interesaba saber si existe alguna colección de implementaciones de los TADs básicos mas o menos aceptada como estándar. La opción de crearlos yo mismo siempre está aunque intentando aplicar un poco el principio de reutilización (y de no reinventar la rueda:)) pretendía encontrar algo ya hecho.

De todos, me planteo crear esa pequeña colección ya que, visto lo visto podría ser un gran aporte para la comunidad PHP.

Muchas gracias de nuevo
  #5 (permalink)  
Antiguo 22/03/2010, 16:25
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: TADs en PHP

Que tal Lamakun,

También revisa las SPL que pueden aportarte alguna ayuda extra al lenguaje PHP

http://ar.php.net/SPL

Saludos!
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #6 (permalink)  
Antiguo 24/03/2010, 04:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: TADs en PHP

Hola Enrique,

le he echado un vistazo por encima y creo que es exactamente lo que quería. Lo bonito sería hora, poder encontrar tiempo para estudiarlo y profundizar sobre este tema....no se yo, pero al menos me guardo el recurso para cuando me vuelva a hacer falta.

Muchas gracias

Etiquetas: lista, ordenada, tad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:04.