创建一个oop php博客

Tim*_*Tim 2 php oop

嗨我正在尝试开发一个oop php驱动的博客.我是php的oop方式的新手,所以它的速度很慢.我有一个BlogPost类,我已经在他的博客字段中为他们创建了私有变量,并为他们创建了getter和setter示例:

function getCreated() {
    return $this-$created;
}

function setCreated($created) {
     $this->$created = $created;
}
Run Code Online (Sandbox Code Playgroud)

这是这样做的方法吗?!我认为我在正确的轨道上,但我不确定.有没有人有任何意见?!也许有关如何创建博客oop php风格的好教程的一些提示.在net.tuts找到一个,但我真的不喜欢它.谢谢!

问候

Zoi*_*erg 6

你很亲密,试试吧

function getCreated() {
    return $this->created;
}

function setCreated($created) {
     $this->created = $created;
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ean 5

就个人而言,我避免使用getter和设置,只使用公共属性.然后我使用__set()magic方法侦听正在设置的属性并将密钥添加到私有$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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后使用:

$id = (isset($_GET['id'])) ? intval($_GET['id']) : null;

$post = new BlogPost();
$post->title = $_POST['title'];
$post->content = $_POST['content'];
$post->save();
Run Code Online (Sandbox Code Playgroud)

非常原始,但应该让你知道如何为自己实现这个理论.