Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2010, 09:49
Avatar de lobo_php
lobo_php
 
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
llamada a funcion

Compañeros, estoy usando el MVC en php, tengo mi frontcontroller, donde tengo:
Código PHP:
<?php
    
class FrontController{
        static function 
main(){
            
//Incluimos algunas clases:
            
require 'libs/Config.php'//de configuracion
            
require 'libs/SPDO.php'//PDO con singleton
            
require 'libs/View.php'//Mini motor de plantillas
            
require 'libs/ControllerBase.php'//ControllerBase
            
require 'libs/ModelBase.php'//ModelBase
   
....
Bueno, en esa misma parte está la llamada a un controlador, digamos, IndexController

Código PHP:
class IndexController extends ControllerBase {
        function  
__construct() {
            
        }
        public function 
index(){
            
$this->view->show("index.php");
        }
    } 
Este hereda de ControllerBase

Código PHP:
    abstract class ControllerBase {
        protected 
$view;
        function 
__construct(){
            
$this->view = new View();
        }
    } 
El problema es que cuando quiero mostrar un "index.php" en IndexController, me sale este error:
Fatal error: Call to a member function show() on a non-object in C:\wamp\www\HumbertoDiaz\Controllers\IndexControll er.php on line 7

Que es cuando intento llamarlo, pero si intentara hacer esto:

Código PHP:
    class IndexController{
        function  
__construct() {
            
        }
        public function 
index(){
            
$this->view = new View();
            
$this->view->show("index.php");
        }
    } 
De esta forma si muestra index.php, pero ¿por qué no sirve cuando heredo de ControllerBase?

Saludos.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175