2013-03-15 167 views
0

这是一个非常愚蠢的问题,但我不知道什么是错的。我无法通过公共方法获取私有变量的值。我使用的是CodeIgniter。PHP私有变量访问

class someClass extends MY_Model { 
    private $table = 'sometable'; 
    public function getTable() { 
    return $this->table; 
    } 
    public function updateTable($data) { 
    $this->db->update($this->getTable(), $data); 
    } 
} 

当我打电话从控制器这种方法,我得到这个消息:

Fatal error: Access level to someClass::$table must be public (as in class MY_Model) in /some/path/someclass.php on line 38 

我做了什么错?谢谢。

回答

6

您的父类MY_Model正在声明该字段为public范围,因此您必须坚持在您的子类中。

+0

非常感谢。我没有意识到$ table是超类中的一个变量。 – Eric 2013-03-18 18:37:57