[英]Displaying MongoDB collection result with PHP
我正在看一本书:“ PHP和MongoDB Web开发”
他们在这里创建了dbconnection.php脚本:
<?php
class DBConnection
{
const HOST = 'localhost';
const PORT = 27017;
const DBNAME = 'myblogsite';
private static $instance;
public $connection;
public $database;
private function __construct()
{
$connectionString = sprintf('mongodb://%s:%d', DBConnection::HOST, DBConnection::PORT);
try {
$this->connection = new Mongo($connectionString);
$this->database = $this->connection->selectDB(DBConnection::DBNAME);
} catch (MongoConnectionException $e) {
throw $e;
}
}
static public function instantiate()
{
if (!isset(self::$instance)) {
$class = __CLASS__;
self::$instance = new $class;
}
return self::$instance;
}
public function getCollection($name)
{
return $this->database->selectCollection($name);
}
}
我想使用此脚本通过名为blogs.php的文件列出博客文章:
<?php
require_once('dbconnection.php');
class Blogs
{
const COLLECTION = 'articles';
private $_mongo;
private $_collection;
private $_blogs;
public function __construct()
{
$this->_mongo = DBConnection::instantiate();
$this->_collection = $this->_mongo->getCollection(Blogs::COLLECTION);
}
}
$blogs = new Blogs();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="style.css" />
<title>My Blog Site</title>
</head>
<body>
<div id="contentarea">
<div id="innercontentarea">
<h1>My Blogs</h1>
<?php while ($blogs->hasNext()):
$article = $blogs->getNext(); ?>
<h2><?php echo $article['title']; ?></h2>
<p><?php echo substr($article['content'], 0, 200).'...'; ?></p>
<a href="blog.php?id=<?php echo $article['_id']; ?>">Read more</a>
<?php endwhile; ?>
</div>
</div>
</body>
</html>
我不确定如何从这里继续。
您可以参考Blogs集合; 下一步是对其进行查询:
public function __construct()
{
$this->_mongo = DBConnection::instantiate();
$this->_collection = $this->_mongo->getCollection(Blogs::COLLECTION);
$this->_blogs = $this->_collection->find();
}
这将为您提供结果集的参考,您可以对其进行迭代并获取单个博客文档。 然后,您必须弄清楚如何使php / html可以访问这些文章。
(使用它作为可视参考http://devzone.zend.com/1730/getting-started-with-mongodb-and-php/ )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.