我正在读一本书:“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>
我不确定如何从这里开始。
答案 0 :(得分:1)
您可以参考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/)