PHPコードをいくつか見直していると、奇妙なことに気づきました。
以下の例を使って説明したいと思います。
Animal.php:
lang
1<?php 2class Animal{ 3 public function method_animal(){ 4 echo $this->doc; 5 } 6} 7?>
Dog.php:
lang
1<?php 2 class Dog extends Animal{ 3 public $doc = "クラスDocの変数docの中身です。"; 4 } 5?>
index.php:
lang
1<?php 2 require_once("Animl.php"); 3 require_once("Doc.php"); 4 $d = new Doc(); 5 $d->method_animl(); 6?>
index.phpを走らせると“クラスDocの変数docの中身です。”とプリントアウトされるのですが、なぜ動作するのでしょうか。method_animl()からは$this->docが呼べるとは思えないのですが。
仕様、バグのどっちなんでしょうか?
誰か分かりませんか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。