[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-general-es
Subject:    Re: [PHP-ES] No encuentra la clase
From:       Lucas Crisman <kordero () gmail ! com>
Date:       2008-03-20 2:26:12
Message-ID: 47E1CB44.1080609 () gmail ! com
[Download RAW message or body]


Lazaro Rogel Aguirre escribió:
> 
> 
> 
> Hola, estoy haciendo mis primeros ejercisios de PHP con POO.
> pagina_web.php
> <?php
> class pagina_web
> {
> var $titulo;
> function setTitulo($titulo="PHP POO")
> {
> $this->titulo = $titulo;
> }
> function _constructor($titulo)
> {
> $this->setTitulo($titulo);
> }
> function cabecera()
> {
> echo ("<html><head><title>");
> echo $this->titulo;
> echo ("</title></head><body>");
> }
> function cuerpo()
> {
> echo "<b>Cuerpo de la pagina</b>";
> }
> function pie()
> {
> echo ("</body></html>");
> }
> function mostrar_pagina()
> {
> echo $this->cabecera();
> echo $this->cuerpo();
> echo $this->pie();
> }
> }
> $pagina = new pagina_web();
> $pagina->setTitulo();
> $pagina->mostrar_pagina();
Acá estas llamando al metodo mostrar_pagina del objeto $pagina 
instanciado de la clase pagina_web. Este metodo esta llamando al metodo 
cuerpo();

> ?>
> El codigo anterior no me da ningun problema, me despliega los datos correctamente, \
> el problema viene con el siguiente codigo, cuando trato de heredar la clase.
> pagina_web_formulario.php
> <?php
> //require('pagina_web.php');
Cuando descomentas este require, se ejecuta la última línea de 
pagina_web.php ($pagina->mostrar_pagina()), la cual llama indirectamente 
al metodo cuerpo del objeto pagina_web

> class pagina_web_formulario extends pagina_web
> {
> function formulario_inicio($accion)
> {
> echo ("<form action=\"$action\">");
> }
> function formulario_fin()
> {
> echo ("</form>");
> }
> function formulario_caja_texto($nombre)
> {
> echo ("$nombre <input type=\"text\" name=\"$nombre\">");
> }
> function formulario_boton()
> {
> echo ("<input type=\"submit\" name=\"Submit\" value=\"Enviar!\">");
> }
> function mostrar_pagina()
> {
> $this->cabecera();
> $this->formulario_inicio("index.php");
> $this->formulario_caja_texto("Nombre");
> $this->formulario_boton();
> $this->formulario_fin();
> $this->pie();
> }
> }
> $formulario = new pagina_web_formulario("Pagina con formulario");
> $formulario->mostrar_pagina();
Estas líneas tambien se ejecutan pero lo hacen despues de haberse 
ejecutado las que estan en pagina_web.php

> ?>
> 
> Me despliega el siguiente error:
> Fatal error: Class 'pagina_web' not found in \
> C:\xampp\htdocs\pagina_web_formulario.php on line 4 
> Cuando descomento el require, ya no me aparece el error, pero lo malo es que \
> ejecuta la funcion cuerpo, que no mande a ejecutar... Alguien sabe como solucionar \
> el error? Estos codigos los saque de el e-book "Manual Imprescindible de PHP5" y ya \
> probe con otros que estan en la pagina oficial de PHP.  \
> _________________________________________________________________ ¡Súper premios en \
> nanometrajes subiendo tu video! http://cine.prodigymsn.com/nanometraje

Saludos,

Lucas Crisman

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic