Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/11/2006, 15:34
Core2Quadro
 
Fecha de Ingreso: noviembre-2006
Ubicación: Argentina - Entre Rios
Mensajes: 15
Antigüedad: 17 años, 5 meses
Puntos: 0
Pregunta

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.