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

de donde sacar contenido

Estas en el tema de de donde sacar contenido en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buenas de nuevo, Quisiera saber cual es la mejor manera de hacer lo siguiente: Imaginemos el siguiente código: $coche->setColor('Azul'); Imaginemos que yo sólo acepto ...
  #1 (permalink)  
Antiguo 23/12/2010, 11:36
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
de donde sacar contenido

Hola buenas de nuevo,

Quisiera saber cual es la mejor manera de hacer lo siguiente:

Imaginemos el siguiente código:

$coche->setColor('Azul');

Imaginemos que yo sólo acepto una lista de 20 colores como colores válidos para el valor de la propiedad de un coche... como puedo validar que sea sólo de uno de los 20 colores?

Evidentemente puedo colocar los 20 colores dentro de mi clase, por ejemplo en un array, y hacer if(in_array)... pero me gustaría saber si hay alguna manera más "limpia" de hacer esto para luego poder mantener los colores de una mejor manera, y sin necesidad de bbdd.

Un saludo y gracias!
  #2 (permalink)  
Antiguo 23/12/2010, 11:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: de donde sacar contenido

pues evidentemente la manera mas limpia es le que dices, agrupa los colores en un arreglo interno y privado, y verifica internamente la lista con in_array()

yo no veo por que piensas que esta forma es "sucia", pues si no sabes, no esta bien que justifiques tu ignorancia de esa forma... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/12/2010, 12:03
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: de donde sacar contenido

jajaja

Veo que el que no sabe eres tu...

precisamente la programación orientada a objetos se basa en un código que se pueda re-usar, y si yo hago una array privado, nadie podrá mantener ese arreglo a no ser que de acceso a la clase...

Un saludo y gracias!
  #4 (permalink)  
Antiguo 23/12/2010, 12:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: de donde sacar contenido

Cita:
Iniciado por miktrv Ver Mensaje
jajaja

Veo que el que no sabe eres tu...

precisamente la programación orientada a objetos se basa en un código que se pueda re-usar, y si yo hago una array privado, nadie podrá mantener ese arreglo a no ser que de acceso a la clase...

Un saludo y gracias!
a ver, amigo imaginario... y si no es BD, ¿de donde pensabas sacar los datos?

además... usar un array interno, ¿en que afecta a la programación orientada a objetos?

osea... usa el sentido común, si hasta Zend lo hace... ¿de donde te sale tanta sabiduría?

y por si fuera poco podrías guardar tus datos en XML, JSON, PHP, INI, y al final todo se cargaría internamente.... ¡es igual!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/12/2010, 12:39
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: de donde sacar contenido

Hola amigo mio, jaja

Pues.. no es lo mismo cargar los datos de un xml externo, que de una clase, ya que no tienes porque tener acceso a la clase y si a un fichero externo, me he planteado un fichero xml...

Nunca he dicho que usar arrays baya en contra de la programación orientada a objetos, lo que si que va en contra es que no se pueda reutilizar el código..

Muchas gracias y un saludo!
  #6 (permalink)  
Antiguo 23/12/2010, 16:07
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: de donde sacar contenido

Y por que no creas un metodo que valide las variables, le pasas los parametros(array) - validas - retornas - y listo. No se por que tanta vuelta. ¿Mas reutilizable que eso? ¬¬
__________________
Drupal Argentina
  #7 (permalink)  
Antiguo 23/12/2010, 16:10
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: de donde sacar contenido

es decir habrán dos parámetros para la función, la fuente de datos y el dato a validar en esa fuente, no ?

Muchas gracias y un saludo!
  #8 (permalink)  
Antiguo 23/12/2010, 17:22
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: de donde sacar contenido

Podrías crear una clase/s para validar, después la podrías utilizar standalone o que tu clase coche tuviera como propiedad el validator y como métodos setValidator, getValidator, isValid(proxy al validator).
  #9 (permalink)  
Antiguo 23/12/2010, 17:29
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: de donde sacar contenido

Cita:
Iniciado por masterpuppet Ver Mensaje
Podrías crear una clase/s para validar, después la podrías utilizar standalone o que tu clase coche tuviera como propiedad el validator y como métodos setValidator, getValidator, isValid(proxy al validator).
Ah XD yo pensaba en algo mas light, pero ya que lo pones de esa manera, me entro la curiosidad de como seria hacerlo de la manera que propones.
A investigar.
De seguro me van a tener preguntando eso por aca
__________________
Drupal Argentina
  #10 (permalink)  
Antiguo 24/12/2010, 00:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: de donde sacar contenido

Cita:
Iniciado por miktrv Ver Mensaje
jajaja

Veo que el que no sabe eres tu...

precisamente la programación orientada a objetos se basa en un código que se pueda re-usar, y si yo hago una array privado, nadie podrá mantener ese arreglo a no ser que de acceso a la clase...

Un saludo y gracias!
Hmmmm.. Hijo te voy a dar un consejo si bien este es un foro abierto, por lo menos respeta a los que te contestan no hay necesidad de risas, por que en tu caso preguntas algo que es basico en la programacion orientada a objetos y va relacionado con las responsabilidades de tu clase. Hay dos patrones sencillos que te resulven tu duda.

Expert

Who, in the general case is responsible?

Assign a responsibility to the information expert -- the class that has the information necessary to fulfill the responsibility.


Pure Fabrication

Who, when you are desperate, and do not want to violate High Cohesion and Low Coupling?

Assign a highly cohesive set of responsibilities to an artificial class that does not represent anything in the problem domain, in order to support high cohesion, low coupling, and reuse.


Aqui puede leer un poco mas de los Grasp patterns
[URL="http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/InformationExpert.html"]http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/InformationExpert.html[/URL]
Tambien puedes leer los siguientes libros:
[URL="http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0131489062/ref=sr_1_1?s=books&ie=UTF8&qid=1293170409&sr=1-1"]Applying Uml and patterns[/URL]
[URL="http://www.amazon.com/Object-Design-Roles-Responsibilities-Collaborations/dp/0201379430/ref=sr_1_1?s=books&ie=UTF8&qid=1293170491&sr=1-1"]Object Design: Roles, Responsibilities, and Collaborations
[/URL]

Saludos
  #11 (permalink)  
Antiguo 24/12/2010, 02:12
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: de donde sacar contenido

Cita:
Iniciado por JaimeSavines Ver Mensaje
Hmmmm.. Hijo te voy a dar un consejo si bien este es un foro abierto, por lo menos respeta a los que te contestan no hay necesidad de risas, por que en tu caso preguntas algo que es basico en la programacion orientada a objetos y va relacionado con las responsabilidades de tu clase. Hay dos patrones sencillos que te resulven tu duda.

Expert

Who, in the general case is responsible?

Assign a responsibility to the information expert -- the class that has the information necessary to fulfill the responsibility.


Pure Fabrication

Who, when you are desperate, and do not want to violate High Cohesion and Low Coupling?

Assign a highly cohesive set of responsibilities to an artificial class that does not represent anything in the problem domain, in order to support high cohesion, low coupling, and reuse.


Aqui puede leer un poco mas de los Grasp patterns
[URL="http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/InformationExpert.html"]http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/InformationExpert.html[/URL]
Tambien puedes leer los siguientes libros:
[URL="http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0131489062/ref=sr_1_1?s=books&ie=UTF8&qid=1293170409&sr=1-1"]Applying Uml and patterns[/URL]
[URL="http://www.amazon.com/Object-Design-Roles-Responsibilities-Collaborations/dp/0201379430/ref=sr_1_1?s=books&ie=UTF8&qid=1293170491&sr=1-1"]Object Design: Roles, Responsibilities, and Collaborations
[/URL]

Saludos
Jajajaja,

Para mi una risa no es una falta de respeto, si no tienes sentido del humor o te sientes ofendido por una risa... es tu problema ;)

Y por cierto, en ningún momento he dicho que lo que pregunto sea o no básico, eso no quiere decir que busque un código re-utilizable que también lo es.

Muchas gracias por la información.
  #12 (permalink)  
Antiguo 24/12/2010, 11:38
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: de donde sacar contenido

Espero te ayuden a mejorar tus habilidades

Saludos!
  #13 (permalink)  
Antiguo 24/12/2010, 12:16
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: de donde sacar contenido

Cita:
Iniciado por JaimeSavines Ver Mensaje
Espero te ayuden a mejorar tus habilidades

Saludos!

Igualmente!!



Saludos!!

Etiquetas: contenido
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 17:37.