您好我正在尝试开发一个oop php驱动的博客。我是php的oop方式的新手,所以它的速度很慢。我有一个类BlogPost我已经在我的博客字段中为他们创建了私有变量,并为他们创建了getter和setter示例:
function getCreated() {
return $this-$created;
}
function setCreated($created) {
$this->$created = $created;
}
是这样做的吗?!我认为我在正确的轨道上,但我不确定。有没有人有任何意见?!也许有关如何创建博客oop php风格的好教程的一些提示。在net.tuts找到一个,但我真的不喜欢它。谢谢!
问候
答案 0 :(得分:6)
你很近,试试
function getCreated() {
return $this->created;
}
function setCreated($created) {
$this->created = $created;
}
答案 1 :(得分:5)
就个人而言,我避免使用getter和设置,只使用公共属性。然后,我使用__set()
魔术方法来侦听正在设置的属性,并将密钥添加到私有$dirty
数组。然后我可以在保存记录时循环这些。例如:
class BlogPost {
public $id;
public $title;
public $content;
private $dirty;
function __set($key, $value) {
$this->$key = $value;
$this->dirty[] = $key;
}
function save() {
if (isset($this->id) && intval($this->id) > 0) {
// do UPDATE query
} else {
// do INSERT query
}
}
}
然后使用:
$id = (isset($_GET['id'])) ? intval($_GET['id']) : null;
$post = new BlogPost();
$post->title = $_POST['title'];
$post->content = $_POST['content'];
$post->save();
非常原始,但应该让你知道如何为自己实现这个理论。