douyue4334 2013-11-03 10:27
浏览 85
已采纳

php新类对象没有被实例化

I am trying to create a new model object from my mvc controller but the page doesn't generate. Is there any reason why I can't do this? Surely I should be able to create an object inside an existing one?

Sorry to be so simplistic, and I know I sound like an idiot, but I'm not sure how to explain what I am doing wrong.

class controller_landing extends controller_base
{
    public function __construct($get,$post)
    {
        parent::__construct($get,$post);

        $this->model = new model_landing;  <-----problem line here
    }
}

abstract class controller_base
{   
    //store headers
    protected $get;
    protected $post;

    //store layers
    protected $view;
    protected $model;

    protected function __construct($get,$post)
    {    
        //store the header arrays
        $this->get = $get;
        $this->post = $post;

        //preset the view layer as an array
        $this->view = array();
    }

    public function __destruct()
    {
        //extract variables from the view layer
        extract($this->view);

        //render the view to the user
        require_once('view/'.$this->get['controller'].'_view.php');
    }
}

class model_landing extends class_mysqli
{
    public function __construct
    {
        echo "landing model";   
    }
}

class class_mysqli
{
    public function __construct
    {
        echo "mysqli";
    }
}

展开全部

  • 写回答

1条回答 默认 最新

  • douzhanyan5015 2013-11-03 11:25
    关注

    I don´t know, but I think you are missing brackets. There

    public function __construct
    {
            echo "landing model";  
    }
    

    should be

    public function __construct()
    {
            echo "landing model";   
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?