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

Duda con chequeo de un array (básica)

Estas en el tema de Duda con chequeo de un array (básica) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, quizás sea sencillo pero ando muy perdido (estoy aprendiendo POO). Os agradecería que me explicàrais de manera básica como implementar esta clase (o clases ...
  #1 (permalink)  
Antiguo 13/11/2011, 06:24
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Duda con chequeo de un array (básica)

Hola, quizás sea sencillo pero ando muy perdido (estoy aprendiendo POO). Os agradecería que me explicàrais de manera básica como implementar esta clase (o clases si he de crear más de una).

Quiero crear una clase que compare un valor que yo le pasaré con los valores de un array ya existente, y si es igual que haga un echo "es correcto" o y si no un echo "es incorrecto". Pero ojo los valores del array son siempre fijos (por ejemplo tiene 5 valores) pero debe mostrar aleatoriamente 3 de los 5 existentes y comparar el valor que se le pasa a la clase con esos 3 valores mostrados (no con los 5).

Código PHP:
class test {
    public 
$valortest;
    function 
chequea($valortest) {
        
$valores_array = array( valor1 => 1valor2 => 2valor3 => 3valor4 => 4valor5 => 5);
        
$aleatorio array_rand($valores_array3); 
                if (
$valortest $aleatorio)
                {
                echo 
'Es correcto el valor pasado';
                }
                else 
                {
                echo 
'Es incorrecto el valor pasado';
                }
    }

A ver si me podéis iluminar.

Gracias.
  #2 (permalink)  
Antiguo 13/11/2011, 11:10
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Duda con chequeo de un array (básica)

Bueno, a mi no me gusta que una clase devuelva texto.. en todo caso un boolean o código numérico de error. ¿ que pasaría si tu app se convierte en multiidioma ? etc

Código PHP:
class test 
    public 
$valortest
    private 
$valores_array;
 
    public function 
__construct($valortest FALSE) {
         
$this->valortest $valortest;
         
$this->valores_array = array( valor1 => 1valor2 => 2valor3 => 3valor4 => 4valor5 => 5); 
    }

    function 
chequea() { 

        
$aleatorio array_rand($valores_array3);  

                if (
$this->valortest == $aleatorio
                { 
                return 
TRUE;
                } 
                else  
                { 
                return 
FALSE;
                } 
    } 

Nota: No se si el valor se lo pasarás al método o lo instancias con la clase.

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 13/11/2011, 12:25
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Respuesta: Duda con chequeo de un array (básica)

¡Muchas gracias miktrv! No había caído en lo que comentas (lo de la app multiidioma por ejemplo).

Sobre lo que preguntas no sé que es lo más correcto... quizás instanciar con la clase?
En ese caso debo hacerlo así imagino.
Código PHP:
$resultado=new test();
// Aquí dudo como le paso el valor (precisamente es lo que no entiendo) 
Por eso pregunto aquí porque los programadores que tenéis mucha experiencia nos podéis aconsejar a los queempezamos sobre lo que hacer y sobretodo lo que NO se debe hacer. Parece muy interesante todo esto de la POO. Me está costando mucho pero poco a poco imagino que conseguiré ir asimilando todos los conceptos.
  #4 (permalink)  
Antiguo 13/11/2011, 12:37
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Duda con chequeo de un array (básica)

Bueno, hazte la siguiente pregunta, tiene sentido que tu objeto se tenga que crear de nuevo para realizar la operación? por ejemplo, si es un objeto al que le puedes pedir 100 veces una comprobación, no tendría sentido instanciar la clase con el valor e la operación, que para tu duda, se le pasa entre paréntesis al instanciar al clase new clase(valor1, valor2).

En el caso de que no tenga lógica para tu clase, puedes hacer dos cosas, o acceder al atributo directamente en el caso de que sea público, por ejemplo

$mi_clase->atributo = 4;

o hacer un setter ( es mi recomendación )

$mi_clase->set_atributo(4);

porque? imagínate que necesitas hacer una comprobación del dato que le pasas a la clase, o en un futuro, necesitas implementar alguna lógica, que pasará con todo el código que acceda directamente? tendrías que reemplazarlo... de esta manera no, tu puedes modificar tu clase internamente y ya esta.

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #5 (permalink)  
Antiguo 13/11/2011, 13:10
Avatar de Agyk  
Fecha de Ingreso: septiembre-2011
Ubicación: Gerona
Mensajes: 14
Antigüedad: 12 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Duda con chequeo de un array (básica)

¡Gracias por la ayuda!

Etiquetas: clase
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 16:48.