Cita: defines una interface Bean, luego implementas Bean con Persona, luego haces class Cliente extends Persona implements Bean, de hecho no es necesario hacer esto con un
Cliente extends Persona ya es sufieciente ya que Persona implementa Bean es teoría de OOP.
oops
Cita: Para más información sobre POO y novedades de php5 te recomiendo para leer PHP 5 Power programming no te pongo deberes simplemente es una sugerencia.
GRACIAS ya lo estoy bajando... eso es muy util, que alguien que sabe te diga de un buen libro, antes que andar bajando 50 libros y viendo cuales no son basura...
Evidentemente estoy teniendo problemas para entender objetos ... en php, jej.
aca tengo una clase que estoy armando de la que pienso heredar para hacer tablas especificas de mantenimiento, y ubicarlas en el ambito de la session.
Esto es porque quiero a traves de ajax modificar los datos de las mismas tablas (objetos) que voy a renderizar en un script al inicio, con otro script "listener", que busque de la session el dato a modificar y devuelva el procesamiento.
Esta es la clase que estoy probando pero me tiene loco con errores de sintaxis y conceptuales:
Código PHP:
<?
class Table
{
public $nombre = "esta";
public $campos = array('ID','Nombre');
public $orden;
public $sentido;
public $puntero;
public $cantidad;
public $ajax_listener;
public function setNombre($nomb)
{
$nombre = $nomb;
}
public static function tab($numero)
{
$cadena = "";
$n = 0;
while ($n<$numero)
{
$cadena = $cadena."\t";
$n++;
}
return $cadena;
}
public function begin()
{
echo '<div id="'.$nombre.'"><!--ancla name="'.$nombre.'"/-->';
echo Table::tab(2)."<table>\n".Table::tab(3)."<tr>\n".Table::tab(4);
for($i =0;$i<sizeof($campos); $i++)
{
echo '<th>'.$campo[$i].'</th>';
}
echo "\n".Table::tab(3)."</tr>\n";
}
public function end()
{
echo Table::tab(3)."<tr>\n".Table::tab(4)."<td colspan=\"".getCantidadCampos()."\">\n";
echo Table::tab(5).'<span><strong>Mostrar de a </strong>'.
'<input type="text" value="'.$cantidad.'" name="cantidad_registros_'.
$nombre.'" size="3"/>'.
' registros.</span>';
echo '<input type="button" value="Mostrar" onclick="cargar_tabla_'
.$nombre.'(this.value)"/><br/>';
echo Table::tab(4)."</td>\n";
echo Table::tab(3)."</tr>\n";
echo '</div>';
}
public function getCantidadCampos()
{
return sizeof($campos);
}
public function javascript()
{
echo '<script type="text/javascript" language="javascript">'."\n";
echo Table::tab(1).'function cargar_tabla_'.$nombre.'(cantidad_registros)'."\n";
echo Table::tab(1)."{\n";
echo Table::tab(2).'ajax.open("post","'.$ajax_listener.'?element='.$nombre.
'&cantidad_registros=")'."\n";
echo Table::tab(2).'ajax.open("post","'.$ajax_listener.'?element='.$nombre.
'&cantidad_registros=")'."\n";
echo Table::tab(1)."}\n";
echo '</script>';
}
}
?>
y de aca lo estoy implementando supuestamente en una etapa de prueba...
Código PHP:
<?
include_once("dir.php");
?>
<html>
<head>
<!--link rel="stylesheet" type="text/css" href="<?= $rel_path; ?>/css/main.css" /-->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Root</title>
</head>
<?
?>
<body>
<h1><?= $_SERVER['PHP_SELF'];?></h1>
<!--ancla href="<?=$rel_path."util/carpetaPrueba/index.php"; ?>">CarpetaPrueba.php</ancla-->
<br/>
<br/>
<br/>
<br/>
<div class="codigo">
<h3>SUPER CODIGO</h3>
<?
$tabla = new Table();
$tabla->setNombre("Tablita");
// $tabla->nombre = "Tablita";
$tabla->cantidad = 10;
$campos = array('Id','Nombre','Apellido','Vis','Elim');
$tabla->campos = $campos;
$tabla->begin();
?>
<br/>
<br />
<br />
<hr />
</div>
</body>
</html>
bueno veran uds. que seguro cometo errores de sintaxis o conceptos, por lo que logicamente no anda...
nisiquiera me escribe el nombre de la tabla cuando hago
$tabla->begin();...
antes los campos de la tabla estaban como
var $nombre, pero ahora estan como
public $nombre, pero ni asi los puedo usar. Incluso probe con usar dentro de las funciones referencias del tipo
$this->nombre, pero evidentemente estoy meando fuera del tarro.
Obviamente no esta terminado y menos la parte de la function javascript().
Muchas gracias por su ayuda.