MApp
使用$database_object
. 我收到一个错误,因为它是私有的,所以我无法使用它。但是我将其更改为受保护的,现在它可以工作了。请注意,在类层次结构中,MApp 位于 MAppAMAdder 之上。
我认为受保护意味着子类可以使用资源而不是父类。PHP 与其他语言有什么不同,还是我对继承如何工作的理解不正确?
MAppAdder 代码段
class MAppAMAdder extends MApp
{
protected $database_object; // private will cause a fail.
移动应用
abstract class MApp extends M
{
protected function getID($pipe)
{
$temp = $this->database_object->_pdoQuery('single', 'pull_id_by_h_token',
array($pipe['server']['smalls']['h_token']));
$pipe['id'] = $temp['id'];
return $pipe;
}
protected function addTweetTop($pipe, $comment)
{
$input = array( $pipe['server']['smalls']['h_token'],
$pipe['server']['smalls']['picture'],
$pipe['server']['smalls']['name'],
$comment,
time(),
$pipe['server']['smalls']['h_file'] );
$this->database_object->_pdoQuery( 'none', 'tweet_insert', $input);
return $pipe;
}
}
错误
致命错误:无法在...中访问私有属性 MAppTweet::$database_object