Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2007, 10:29
Avatar de nachopro
nachopro
 
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 21 años, 1 mes
Puntos: 2
Cómo hacer una Web con POO?

Hola, como novato que soy en POO estoy intentando aprender.

a ver si me pueden guiar que me he trabado.

mi sitio básico hasta el momento se compone de 3 archivos:

class.mysql.php
Código PHP:
<?

class mysql
{
    private 
$base$servidor$usuario$clave;
    private 
$enlace null;
    
    public function 
__construct($base$servidor 'localhost'$usuario 'root'$clave '')
    {
        
$this->servidor $servidor;
        
$this->usuario $usuario;
        
$this->clave $clave;
        
$this->base $base;
        
        
$this->conectar();
    }
    
    private function 
conectar()
    {
        
$this->enlace mysql_connect($this->servidor$this->usuario$this->clavenew_link);
        
mysql_select_db($this->base$this->enlace);
    }
    
    public function 
consultar($sql)
    {
        
$rs = @mysql_query($sql$this->enlace);
        if (
$rs)
        {
            while (
$tmp mysql_fetch_assoc($rs))
            {
                
$registros[] = $tmp;
            }
            return 
$registros;
        }
        echo 
mysql_error();
        return 
false;
    }
    
    public function 
ejecutar($sql)
    {
        if (
mysql_query($sql$this->enlace))
        {
            return 
true;
        }
        echo 
mysql_error();
        return 
false;
    }
    
}

?>
class.pagina.php
Código PHP:
<?

class pagina
{
    private 
$ruta;
    private 
$titulo;
    private 
$contenido;
    
    public function 
__construct($ruta ''$titulo 'Nueva Página :: ')
    {
        
$this->ruta $ruta;
        
$this->titulo $titulo;
    }
    
    private function 
concatenarTitulo($titulo)
    {
        
$this->titulo .= $titulo;
    }

    public function 
mostrarRuta()
    {
        return 
$this->ruta;
    }
    
    public function 
mostrarTitulo()
    {
        return 
$this->titulo;
    }
    
    public function 
mostrarContenido()
    {
        return 
$this->contenido;
    }

    public function 
agregarContenido($contenido)
    {
        
$this->contenido .= $contenido;
    }
    
}

?>
index.php
Código PHP:
<?
require('class.mysql.php');
require(
'class.pagina.php');

//$pagina = new pagina('/latinhardware.v3/public_html/');

include('plantilla.php');
?>
Ahora bien... mi idea de sitio es la de hacer una plantilla en php con el diseño en donde se haga un echo del titulo, y un echo del contenido (se podría ampliar para el echo de metadata adicional, etc)

pués bien, tal y como está la clase pagina se le puede asignar contenido estático..

ahora yo quiero heredar la clase pagina y la clase mysql en una nueva clase para poder, dentro de la pagina que cree, darle contenido mediante consultas mysql.

cómo puedo hacer?

o mejor aún, si en mi diseño tengo bloques de código generado dinámicamente como puede ser una encuesta o una lista de los 10 temas más visitados... cómo puedo crear una clase para esos bloques?

me dan una mano?

espero se entienda y chas gracias!