钥匙要点
- > mongoDB是一个面向文档的NOSQL数据库,可增强性能和可伸缩性,使其非常适合可以轻松管理集合和文档的博客应用程序。 php mongodb驱动程序对于将PHP应用程序连接到MongoDB至关重要,直接从PHP脚本进行CRUD操作。
- >可以使用HTTP Auth对博客的管理部分实现简单的用户身份验证,尽管对于更强大的应用程序,建议使用全面的身份验证框架。 >博客应用程序利用基本的CRUD操作来管理博客文章,并具有其他评论功能,所有功能都存储在MongoDB Collections中。
- 应用程序结构包括用于管理任务和视图的单独目录和文件,促进了一种简单的MVC架构形式,可以使用全尺度框架进一步开发。
- 简介
- 如果您想使用MongoDB和PHP创建博客,则本文将教您:
连接到mongoDB数据库
>在集合中保存文档
- >集合中的查询文档
- >执行范围查询
- 排序文档,更新文档,从集合中删除一个或多个文档
- 我之所以选择构建博客应用程序的原因是因为它是一个基本的CRUD应用程序,非常适合放松PHP和MongoDB Web开发。我们将使用带有简单文本框和按钮的Bootstrap构建一个普通的用户界面。 MongoDB数据库将存储所有内容。您可以从GitHub下载完整源,请参阅此处的演示前端,然后尝试使用演示应用程序的后端,并使用用户名和密码为 duythien
- 。 什么是mongodb
> > mongoDB概念:数据库,收集和文档>
数据库:MongoDB以与大多数关系数据库相同的方式将数据分组到数据库中。如果您对关系数据库有任何经验,则应以相同的方式考虑这些。在RDBMS中,数据库是一组表,存储过程,视图等。在MongoDB中,数据库是一组集合。 MongoDB数据库包含一个或多个集合。例如,名为博客的博客应用程序的数据库通常可能具有收藏文章,作者,评论,类别等。集合:集合等效于RDBMS表。一个数据库中存在一个集合。收集不执行模式。集合中的文档可以具有不同的字段。通常,集合中的所有文档都有相似或相关的目的。
这是蒙哥安装在Ubuntu Linux上的方式。打开终端并执行以下操作:
现在发布以下命令以更新您的存储库并安装MongoDB的最新稳定版本:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
完成,您已经成功安装了MongoDB。现在,通过下面的命令行启动和停止服务MongoDB。
>sudo apt-get update sudo apt-get install mongodb-10gen如果开始错误尝试运行以下命令:
以下描述了如何在Windows上安装它:
sudo service mongodb start sudo service mongodb stop
>前往MongoDB官方网站上的下载页面。单击Windows下的最新稳定版本的下载链接。
> 下载完成后,提取并将其移至c:。 MongoDB需要一个数据文件夹来存储其文件。 MongoDB数据目录的默认位置是C:DatadB。如果不存在,请创建它。sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf
启动mongodb,从命令提示符
执行完成,您已经成功安装了MongoDB。现在,通过下面的命令行启动和停止服务MongoDB。
>
>安装MongoDB
的PHP驱动程序C:\> cd \mongodb\bin C:\mongodb\bin> mongod> MongoDB服务器构建是为了与您当前的Web服务器一起使用,但不能使用PHP。要与MongoDB服务器进行PHP通话,我们将需要PHP-MongoDB驱动程序。这是一个PHP扩展库。
如果您使用Linux轻松通过:
net start MongoDB net stop MongoDB来安装它
>添加行扩展名= mongo。
>重新启动您的Web服务器,并通过命令行验证:
sudo pecl install mongo>在Windows上安装驱动程序
>让我们尝试在Apache(XAMPP)上运行PHP 5.4的Windows计算机上安装驱动程序:
sudo -i echo 'extension=mongo.so' >> /etc/php5/apache2/php.ini
- >下载zip存档https://github.com/mongodb/mongo-php-driver/downloads在您的机器上并提取。 >将php_mongo.dll文件从提取的文件夹复制到php扩展目录(c:xamppphpext)。
- >打开PHP安装内的php.ini文件,并添加以下行:Extension = php_mongo.dll
- >保存文件并将其关闭。重新启动Xamp。
- >打开您的文本编辑器,然后将以下代码添加到新文件中:,将文件保存为phpinfo.php,在Apache Web服务器(HTDOC)的DocumentRoot内部,并打开PHP浏览器中的脚本。如果您在PHP信息中看到Mongo,则安装成功。
- >
的mongo Web开发
连接到MongoDB数据库服务器从PHP连接到MongoDB的
>与连接到任何其他数据库非常相似。默认主机是localhost,默认端口为27017。>连接使用可选自定义端口和auth的远程主机:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list>
选择数据库
sudo apt-get update sudo apt-get install mongodb-10gen
>建立数据库服务器连接后,我们将使用它来访问数据库。定义的方法是:
基础知识(crud操作)
sudo service mongodb start sudo service mongodb stop
> MongoDB提供了丰富的语义,用于阅读和操纵数据。 CRUD代表创建,阅读,更新和删除。这些术语是与数据库所有交互的基础。
>创建/选择集合
选择和创建集合与访问和创建数据库非常相似。如果一个集合不存在,则将创建:
>
例如,这是在我的博客中创建“帖子”的集合:
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf创建文档
在MongoDB中创建文档并不容易。创建一个数组。将其传递到集合对象上的插入方法中
C:\> cd \mongodb\bin C:\mongodb\bin> mongod> insert()方法将数据存储在集合中。 $ post Array自动接收一个名为_id的字段,该字段是插入的BSON文档的自动化唯一objectid。您还可以使用save()方法,该方法已升级 - 更新现有记录,或者如果不存在,则创建新记录。
>
阅读文档要从集合中获取数据,我使用find()方法,该方法获取集合中的所有数据。 FindOne()仅返回一个满足指定查询标准的文档。以下示例将向您展示如何查询一个或多个记录。
net start MongoDB net stop MongoDB>
更新文档
修改集合中的现有文档或文档。默认情况下,update()方法更新一个文档。如果将多选项设置为true,则该方法将更新与查询条件匹配的所有文档。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
update()方法采用两个参数。第一个是描述要更新对象的标准,第二个是更新匹配记录的对象。还有第三个可选参数,您可以在其中传递一系列选项。
>mini博客
我们将要构建的项目的结构:
sudo apt-get update sudo apt-get install mongodb-10gen
在我们从实际的PHP代码开始之前,我们需要创建像上面的文件和文件夹。
config.php这是您的配置文件,它告诉我们的应用如何连接到数据库。这是您定义了用户的数据库名称,用户名和密码以访问该数据库的地方:
sudo service mongodb start sudo service mongodb stop我们在哪里定义paramaters userauth和passwordAuth以通过HTTP身份验证保护管理文件夹。我们在此处使用HTTP Auth,以简单起见,因为本文的中心主题是连接到MongoDB的 - 通常,您通常会使用ACL使用某种体面的框架来构建访问控制。
> app.php:
admin
sudo mongod --fork --logpath /var/log/mongodb/mongodb.log #or sudo mongod -f /etc/mongodb.conf
这是包含CRUD代码的文件夹。
>有关完整文件index.php的信息,请参见此处。在上面,我使用了类Layout.php中的视图函数,该函数将自动加载dashboard.view.php。
C:\> cd \mongodb\bin C:\mongodb\bin> mongod
GET参数状态对应于CRUD动作。例如,当状态为“创建”时:
net start MongoDB net stop MongoDB
>函数视图('admin/create',$ data)显示了一个HTML表单,用户可以在其中编写新博客文章的标题/内容,或将用户删除的数据保存到MongoDB。默认情况下,脚本显示以下html表单:
sudo pecl install mongo
sudo -i echo 'extension=mongo.so' >> /etc/php5/apache2/php.ini
接下来,让我们看一下db.php,可以在这里完整找到>
php -i |grep "mongo" php --re mongoindex.php:模板文件可以在View文件夹中找到;例如index.view.php。这是index.php的示例:
>
$connection = new Mongo();>打开浏览器并导航到http://duythien.dev/sitepoint/blog-mongodb。它列出了博客中的所有当前文章:
$connecting_string = sprintf('mongodb://%s:%d/%s', $hosts, $port,$database), $connection= new Mongo($connecting_string,array('username'=>$username,'password'=>$password));
> single.php:当您查看单个帖子页面(单击帖子上的更多信息)时,您正在查看views文件夹中的single.view.php。这是single.php的逻辑:
中的function getByid()
>在评论部分下的输入框中输入任意名称,并在文本框中放置一些文本。然后单击“保存”按钮,页面将重新加载您刚刚发布的评论。这就是comment.php的样子:
>sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 # echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list文章的评论存储在文档名称注释的数组字段中。评论的每个元素都是包含多个字段的嵌入式文档。
结论
在本文中,我们介绍了MongoDB对PHP的基本介绍。我们甚至在此过程中创建了一种非常原始的MVC(请参阅GitHub上的完整应用)。您必须使用适当的框架,在此处使用的简单HTTP AUTH之外实现身份验证,并添加更多功能,但是基础知识已经到位,您可以在此演示应用程序中删除此演示应用程序的内容。>
有关MongoDB的更多信息,请查看在线文档。您喜欢这篇文章吗?让我们知道您的想法!>使用MongoDB和PHP
构建一个简单的博客应用程序的常见问题(常见问题解答)
什么是mongodb,为什么它用于构建博客应用程序?>
>使用MongoDB和PHP构建博客应用程序的先决条件是什么? MongoDB和PHP,您需要对PHP和MongoDB有基本的了解。您还需要在系统上安装PHP和MongoDB。此外,您还需要一个文本编辑器来编写代码和一个Web服务器来托管您的应用。我如何在博客应用程序中处理用户身份验证?使用PHP中的会话来处理。当用户登录时,启动了会话,并且用户的信息存储在会话变量中。这些变量可以在整个用户的会话中访问,从而使您可以根据用户的身份验证状态限制对某些页面的访问。>>如何使用PHP和MongoDB在博客应用中实现我的博客应用中的CRUD操作? PHP提供了与MongoDB进行交互的功能,使您可以创建文档(帖子),读取文档,更新文档和删除文档。 MongoDB php驱动程序为这些操作提供了一个简单的API。
>
如何在博客应用中处理错误?
>在博客应用程序中可以使用PHP的内置错误处理来完成错误处理。功能。这些功能允许您定义自定义错误处理规则,创建自定义错误处理程序并报告错误。您还可以为调试目的记录错误。>
如何改善博客应用程序的性能?>可以通过使用索引,索引,,可以通过优化您的mongoDB查询来提高博客应用程序的性能。和缓存数据。您还可以通过优化您的PHP代码来提高性能,例如使用有效的循环和功能,并最大程度地减少全局变量的使用。如何保护我的博客应用程序?在博客应用程序中,可以通过实现用户身份验证,对用户输入进行消毒以防止SQL注入攻击以及使用安全连接(HTTPS)来实现。您还应该使您的PHP和MongoDB安装保持最新状态,以从最新的安全补丁中受益。
>>我如何部署我的博客应用程序?
可以通过在MongoDB数据库中创建其他收藏来存储评论和喜欢来添加到博客应用程序中。然后,您可以使用PHP来创建,读取,更新和删除评论和喜欢,并将它们与特定帖子相关联。
以上是使用MongoDB和PHP构建一个简单的博客应用的详细内容。更多信息请关注PHP中文网其他相关文章!

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)