我来自 Objective-C,面向对象编程只是一个梦想。(至少对我来说)
我在 PHP 中有一个问题。我正在尝试制作一个模型类来保存我的数据库条目。它看起来像这样:
class Model {
public function __set($name, $value)
{
$methodName = "set" . ucfirst($name);
if (method_exists($this, $methodName)) {
$methodName($value);
} else {
print("Setter method does not exists");
}
}
};
我想对此进行子类化并创建一个类用户。
class User extends Model {
private $userID;
public function userID() {
return $this->userID;
}
public function setUserID($theUserID) {
$this->userID = $theUserID;
}
};
当我打电话时,$user->__set("userID", "12345");
我得到以下异常:
致命错误:调用 Model.class.php 中未定义的函数 setUserID()
$user 对象当然是一个用户对象。为什么我不能从超类调用方法?