MApp
を使用し$database_object
ます。プライベートなので使えないというエラーが出ました。ただし、保護に変更したところ、機能するようになりました。クラス階層では、MAppはMAppAMAdderの上にあることに注意してください。
保護とは、子クラスが親クラスではなくリソースを使用できることを意味すると思いました。PHPは他の言語とは異なりますか、それとも継承がどのように機能するかについての私の理解は正しくありませんか?
MAppAdderスニペット
class MAppAMAdder extends MApp
{
protected $database_object; // private will cause a fail.
MApp
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にアクセスできません...