我正在使用oop php制作博客。现在我试图在我的数据库中显示帖子条目。我设法从创建的字段输出数据,但没有别的。基本上我的db中的post表中有四个字段。我创作,作者,头衔和身体。使用下面的代码我只管理显示创建。有人知道我该怎么办?我是否需要为每个字段创建一个新的博客对象?!如果是这样,那似乎很奇怪。谢谢! BTW代码来自我的index.php ...
<?php
require_once('_settings.config.php');
global $db;
$blog = new Blog("My Blog");
$posts = $blog->getPosts(); ?>
<?php foreach ($posts as $post): ?>
<li>
<?php echo "<div>"; ?>
<?php echo "<span class='footer'>Posted by: " . $post->author . "Created: " . $post->created . "</span>"; ?>
<?php echo "</div>"; ?>
<?php endforeach; ?>
这里要求的是我的getPosts函数。它返回$ posts数组。
public function getPosts() {
$result = $this->db->query("SELECT * FROM posts");
$posts = array();
while($post = $result->fetch_assoc()) {
array_push($posts, new BlogPost($post['id'], $post['created'], $post['author'], $post['title'], $post['body']));
}
return $posts;
}
答案 0 :(得分:0)
您的帖子课程是否有任何其他功能? IMO,如果确实如此,构造一个新的post对象是有意义的,这样你可以稍后在代码中调用$post->do_something()
。
另一方面,如果您的post类只是从数据库中提取的信息的容器,我只会在您的blog类中创建一个包含所有字段的哈希数组的实例变量$posts
。只有真正的区别是你会$post['author']
而不是$post->author
您还可以为博客对象定义函数display_all_posts()
或display_posts(some_range)
,以使代码看起来更好。