访问PHP中父类中声明的对象

时间:2014-05-22 20:05:37

标签: php

编辑:删除原始示例,因为它很复杂。

下面提供的代码不起作用。我试图访问在父类中声明的类中定义的方法。

以下是示例代码。它不起作用,我想知道为什么

<?php
function & get_instance()
{
    return Main::get_instance();
}


class Db{

    function select($var)
    {
        echo $var; 
    }
}

class Main
{
    public $db ;
    public $process ;
    private static $instance;

    function __construct()
    {
        self::$instance = &$this;

        $this->db = new Db ; 
        $this->process = Process; 

    }

    public static function & get_instance()
    {
        return self::$instance;
    }

}


class Process{

private $main ; 
    function __construct()
    {
        $this->main = get_instance() ; 
    }

    function processPayment()
    {
        $this->main->db->select("hello");
    }
}




$main = new Main ;

$main->process->processPayment(); 

1 个答案:

答案 0 :(得分:1)

要访问父类的成员,您必须声明这些成员protectedpublic

例如:

public var $db; 
protected var $orders;