Supongamos que tengo esta clase:
class Persona
{
function edad()
{
return 25;
}
function fecnac()
{
return "1980/12/01";
}
}
Y la implemento de esta forma:
$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 ...
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.
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
<?
class Cadena
{
function tamanio($funcion)
{
echo strlen($this->$funcion());
}
}
?>
clase.php
<?
include("cadena.php");
class Clase extends Cadena
{
private $_ape;
function apellido()
{
$this->_ape='Pereda Munio';
return $this->_ape;
}
}
?>
Y lo uso asi: index.php
<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)
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?
no asi no es, es asi:
$per = new Persona();
$lenght = strlen($per);
saludos...