Foros del Web » Programando para Internet » PHP »

se puede poner las propiedades adentro de los parentesis de metodos

Estas en el tema de se puede poner las propiedades adentro de los parentesis de metodos en el foro de PHP en Foros del Web. <?php class a { public $propiedad="se puede paras esto de forma directa"; public $b; public function d($e =$this->propiedad) //se puede poner las propiedades adentro { ...
  #1 (permalink)  
Antiguo 07/04/2013, 16:11
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
se puede poner las propiedades adentro de los parentesis de metodos

<?php
class a
{
public $propiedad="se puede paras esto de forma directa";
public $b;
public function d($e =$this->propiedad) //se puede poner las propiedades adentro
{ //de los parentesis del metodos
return $this->b=$e;
}
}
$g=new a();
echo $g->d();


?>
  #2 (permalink)  
Antiguo 09/04/2013, 02:47
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: se puede poner las propiedades adentro de los parentesis de metodos

No, no se puede, los valores por defecto de un parametro sólo pueden ser de tipos definidos por el lenguage en http://www.php.net/manual/es/language.types.intro.php. Salu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 09/04/2013, 07:27
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: se puede poner las propiedades adentro de los parentesis de metodos

Holas, jor_0203.

Como dice repara2, por lenguaje no puedes hacerlo. Pero puedes "trucarlo" dentro del método:

Código PHP:
class a
{
 public 
$propiedad="se puede paras esto de forma directa";
 public 
$b;
 public function 
d($e "")
 {
  
$e = (empty($e) ? $this->propiedad$e); // acá le asignas el valor de la propiedad, si es que llega vacío
  
return $this->b=$e;
 }
}
$g=new a();
echo 
$g->d(); 
Por cierto, en tu código de ejemplo, d() está retornando un booleano, cierto?

Saludos.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #4 (permalink)  
Antiguo 14/04/2013, 16:55
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: se puede poner las propiedades adentro de los parentesis de metodos

Cita:
Iniciado por quinqui Ver Mensaje
Holas, jor_0203.

Como dice repara2, por lenguaje no puedes hacerlo. Pero puedes "trucarlo" dentro del método:

Código PHP:
class a
{
 public 
$propiedad="se puede paras esto de forma directa";
 public 
$b;
 public function 
d($e "")
 {
  
$e = (empty($e) ? $this->propiedad$e); // acá le asignas el valor de la propiedad, si es que llega vacío
  
return $this->b=$e;
 }
}
$g=new a();
echo 
$g->d(); 
Por cierto, en tu código de ejemplo, d() está retornando un booleano, cierto?

Saludos.
que genial


pero porque funciona esto
Código PHP:
Ver original
  1. <?php
  2. //checar esta muy interesante
  3. class concatenar
  4. {
  5.   var $name;
  6.   function concatenar($s)
  7.   {
  8.    $this->name = $s;
  9.   }
  10. }
  11.  
  12. $p=new concatenar("jorge");
  13. concatenoClase($p);
  14. function concatenoClase($p)  //mi pregunta es ¿que es $p y como funciona?     ya que para mi no es
  15. {                            //una instancia  sino un argumento
  16.  $p->name .= " arturo";
  17. }
  18. echo $p->name;
  19. ?>

Última edición por jor_0203; 14/04/2013 a las 17:06

Etiquetas: metodos, propiedades
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 06:44.