Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2012, 09:36
leo2gz
 
Fecha de Ingreso: mayo-2007
Mensajes: 47
Antigüedad: 17 años
Puntos: 0
Pregunta llamar a un metodo protegido desde clase extendida

Estoy dando mis primeros pasos en poo y encontre problemas en manejar algunos metodos.
Tengo establecido un directorio donde cada clase en un archivo con nomenclatura class.nombre_clase.inc.php todos dentro de un directorio inc.

El problema es que tengo una clase extendida y hace un require(); de la cual se extiende y al querer llamar a un metodo en la clase extendida me da un error.

tengo la clase base

Código PHP:
class Page{
    var 
$titulo "Mi pagina OPP";
    var 
$main_content;
    
    public function 
setTitle($title){
            
$this->titulo $title;
    }
    protected function 
getTitle(){
            return 
$this->titulo;
    }
    public function 
setMainContent($main){
            
$this->main_content $main;
    }
    protected function 
getMainContent(){
            return 
$this->main_content;
    }

la clase extendida que utiliza un metodo de la clase base

Código PHP:
require('class.page.inc.php');
class Print extends 
Page{
    
    public function 
printTitle(){
        return 
$this->getTitle(); // llamo al metodo protected
    
}
    public function 
printContent(){
        return 
$this->getMainContent(); // llamo al metodo protected
    
}

Luego me tira el siguiente error al crear el objeto en el index.php
Parse error: syntax error, unexpected T_PRINT in C:\wamp\www

y este es mi index.php donde uso __autoload

function __autoload($class_name)
{
require('inc/class.'.$class_name.'.inc.php');
}
$index = new Print;
?>
<html>
<head>
<title>
<?php
$index->setTitle('mi pagina carajo');
echo $index->printTitle();
?>
</title>
</head>
<body>
<h3>Contenido</h3>
</body>
</html>

Cual podria ser el error, o solo seria problema de rutas... y otra pregunta seria si esta bien utilizada la metodologia que use en clases en archivos separado y llamar luego con __autoload