Existe en php esto ? $obj->edad->lenght o $obj->edad->tostring() ;

Iniciado por Baaaw Oic, 2 Marzo 2010, 03:20 AM

0 Miembros y 1 Visitante están viendo este tema.

Baaaw Oic

Supongamos que tengo esta clase:

Código (php) [Seleccionar]
class Persona
{
 function edad()
 {
   return 25;
 }
 function fecnac()
 {
   return "1980/12/01";
 }
}


Y la implemento de esta forma:

Código (php) [Seleccionar]
$per = new Persona();

Existe esto en php.

$per->edad()->Length();  //(como en JAva y NET)

EDITO: No quiero saber si eso esta implementado, lo que deseo saber es si es valido usar "->"   dos veces ...

MinusFour

Hmm, creo que no es valido. El -> es para objetos y si haces $obj = new Persona(); y luego $obj->edad(); te regresa el entero y como no es un objeto no es valido usar -> otra vez.

Baaaw Oic

#2
Eh ahi el problema, entonces no habria forma de hacer lo que deseo en php. Quiero hacer algo parecido con lo que hace java y net ... por ejemplo.

En Net:

Dim num as integer = 15
msgbox(num.tostring())

Haber si alquien me hecha una mano ..

EDito: He tratado de hacerlo asi y si funciona pero no me parece una forma elegante de resolver mi duda.

cadena.php
Código (php) [Seleccionar]
<?
class Cadena
{
function tamanio($funcion)
{
echo strlen($this->$funcion());
}
}
?>


clase.php
Código (php) [Seleccionar]
<?
include("cadena.php");
class Clase extends Cadena
{
private $_ape;

function apellido()
{
$this->_ape='Pereda Munio';
return $this->_ape;
}
}
?>


Y lo uso asi: index.php
Código (php) [Seleccionar]
<html xmlns="http://www.w3.org/1999/xhtml">
<body>

<?
include("clase.php");
$clas = new Clase();

$clas->tamanio('apellido');
?>

</body>
</html>


Si funciona, pero deseo que la programacion sea mas limpia y practica (y ademas tenga la estructura de como se hace en Java xD)

MinusFour

Eso es porque en java los strings son objects y aqui creo que php los trata como variables normales.

Porque no simplemente le haces strlen a lo que te de el apellido y ya?

Castg!

no asi no es, es asi:

Código (php) [Seleccionar]
$per = new Persona();
$lenght = strlen($per);


saludos...