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: 22 años, 10 meses
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->clave, new_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!