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

Problema con ejercicio simple pasando valores por parametros

Estas en el tema de Problema con ejercicio simple pasando valores por parametros en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Tengo un error y no se porque me sale. Al parecer no me devuelve el valor de un tipo de variable. Ese $pelota = true ...
  #1 (permalink)  
Antiguo 16/01/2012, 19:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 15 años, 10 meses
Puntos: 2
Problema con ejercicio simple pasando valores por parametros

Tengo un error y no se porque me sale. Al parecer no me devuelve el valor de un tipo de variable. Ese $pelota = true no se porque no le llega a la funcion.

Código PHP:
<?php

require_once 'Pulpo.php';

//Segun dice el index se encuentra mal indentado
class Index{
    
    public function 
ejecutarIndex()
    {
       
$pulpo = new Pulpo('Elvis'18'purpura');
        echo 
el pulpo  .  $pulpo->recivePelota($pelota=true);             
    }
}

$index = new Index();
$index->ejecutarIndex();
Código PHP:
<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Pulpo
 *
 * @author Arts
 */
class Pulpo 
{
    
//put your code here
    
    //Atributos
    
private $_nombre;
    private 
$_numeroDeOjos;
    private 
$_numeroDeBrazos;
    private 
$_color;
       
    
    
// Contructor
    
public function __construct($nombre,$numeroDeOjos,$numeroDeBrazos,$color
    {
        
$this->_nombre $nombre
        
$this->_numeroDeOjos $numeroDeOjos;
        
$this->_numeroDeBrazos $numeroDeBrazos;
        
$this->_color $color;
    }
   
   
// Metodos
    
public function recivePelota($pelota)
    {
        if (
$pelota)
        
hacerMalavares();
    }
    
    public function 
hacerMalavares()
    {
        return 
'hace malavares';
    }
  
}
  #2 (permalink)  
Antiguo 16/01/2012, 19:19
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 13 años, 11 meses
Puntos: 461
Respuesta: Problema con ejercicio simple pasando valores por parametros

si tu vas a utilizar un método y le vas a pasar un parámetro no tienes porque asignar una variable, sencillamente indicar el valor que va a tomar el parámetro
Código PHP:
Ver original
  1. $pulpo->recivePelota(true);
prueba y nos comentas
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 17/01/2012, 08:27
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Problema con ejercicio simple pasando valores por parametros

Pues haciendo eso mismo la cadena que aparece es El cocodrilo canta do re mi fa sol la si do y el pulpo

se supone que la hacer return 'algo'; debería llegar a imprimirlo no?
  #4 (permalink)  
Antiguo 17/01/2012, 09:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con ejercicio simple pasando valores por parametros

Aparte de que haces cosas muy mal, checa:
Código PHP:
Ver original
  1. // mal
  2. echo el pulpo . $pulpo->recivePelota($pelota = true);
  3. // bien
  4. echo 'el pulpo' . $pulpo->recivePelota(true);
  5.  
  6. // Luego en pulpo:
  7. // mal
  8.     public function recivePelota($pelota)
  9.     {
  10.         if ($pelota)
  11.         hacerMalavares();
  12.     }
  13.      
  14.     public function hacerMalavares()
  15.     {
  16.         return 'hace malavares';
  17.     }
  18.  
  19. // bien
  20.     public function recivePelota($pelota)
  21.     {
  22.         if ($pelota) {
  23.             return $this->hacerMalavares();
  24.         } else {
  25.             return '';
  26.         }
  27.     }
  28.      
  29.     public function hacerMalavares()
  30.     {
  31.         return 'hace malavares';
  32.     }

Saludos.
  #5 (permalink)  
Antiguo 17/01/2012, 10:27
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Problema con ejercicio simple pasando valores por parametros

Wo0w, me has dejado de piedra... ahora funciona pero me esta costando entenderlo, yo lo único que quería hacer era un metodo recibePelota que llamase a una función y que me devolviera una cadena. ¿ Entonces al poner return se convierte en función y lo que hace sería llamar a hacerMalavares y devolver el contenido de esta función ?.

Última edición por arts; 17/01/2012 a las 10:51
  #6 (permalink)  
Antiguo 17/01/2012, 11:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con ejercicio simple pasando valores por parametros

Así es, aunque tengas un segundo return en el segundo método, también tienes que regresar ese valor primeramente, no porque lo tengas solamente en la segunda se regresa automáticamente a la primera, es forzoso que en ambos uses return para ello.

Saludos.
  #7 (permalink)  
Antiguo 17/01/2012, 11:41
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Problema con ejercicio simple pasando valores por parametros

Gracias, ahora lo entiendo todo.

Etiquetas: ejercicio, parametros, pasando, php, simple
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 19:52.