説明できない PHP の動作に混乱しています。
私が使用しているクラス:
Class Photo extends DatabaseObject {
public function photo(){
return SITE_DOMAIN."/files/".$this->upload_dir."/".$this->photo;
}
}
html からの呼び出し:
$i->photo();
PHP から次の通知が表示されますが、それ以外の場合はエラーは発生しません。
Notice: Undefined property: Photo::$photo in C:\wamp\www\photo_gallery\includes\objects\photo.php on line 33
面白いのは、関数の名前を に変更してphoto_path()
も、その通知が届かないことです!!
オブジェクト変数は、親クラス (DatabaseObject) でインスタンス化されます。
public static function instanceiate($record) {
$class_name = get_called_class();
$object = new $class_name;
foreach ($record as $key => $value) {
$object->$key = $value;
}
return $object;
}
何か案は?