首页 后端开发 php教程 用Yaapi和PHP构建一个简单的内容管理系统_PHP

用Yaapi和PHP构建一个简单的内容管理系统_PHP

Jun 01, 2016 pm 12:36 PM
内容 文章 构建 简单 管理系统

如果你是一个正在构建具有丰富内容的Web网站的开发人员,你就可能需要考虑下面这些解决方案,其中包括(a)用于内容的数据库,(b)将GUI与内容分离的模板系统,(c)用来维护数据库里数据的用户友好界面,以及(d)对所生成页面的最终外观的控制。



能够提供上述所有内容的一个非常有趣的解决方案就是Yaapi,它是“你的文章应用程序编程接口(Your Article Application Programming Interface)”的开头字母缩写。它是一个PHP类,提供了内置的方法来访问保存在数据库里的内容。管理模块装备有协助管理数据的类,而这个API本身都足够强大,可能够处理内容管理系统(CMS)所要求的大多数常见任务。

安装
要安装和使用Yaapi,你需要一个支持PHP的Web服务器,例如Apache,当然还有PHP,以及MySQL数据库服务器。你可以下载一份Yaapi,将它解压到服务器根目录下的某个位置里。

你还需要创建一个MySQL数据库,以容纳Yaapi的数据结构。使用源档案里的yaapi.sql文件创建这个数据库,然后打开类构造函数(article.class.php文件)里的Yaapi配置,使用用于该数据库的名字和访问参数更新它。

添加内容
要向数据库里添加内容,你就必须使用http://your-server/yaapi-root/admin/上的Yaapi管理模块(用安装有Yaapi的服务器的名称来替换“your-server”,并用Yaapi解压后的目录来替换“yaapi-root”)。你要使用这个管理模块来创建(和删除)内容类别,然后把文章放到这些类别里。下面就是你会在这一过程中碰到的字段的简表:

类别(Category):文章的类别
章节ID(Section ID):如果你的文章有两个层次,就要使用这个参数来定义第二个层次。
标题(Title):文章的标题
作者(Author):文章的作者
电子邮件(E-mail):文章作者的电子邮件地址
许可(Approved):用来表示文章是否已经“得到许可”可以进行显示的标志
图像(Image):与文章相关的可选图像URL
内容(Content):文章的内容
关于上面最后一个项目的一点小小注释:通过在文章文本里插入分隔符,Yaapi能够把你的大段文章分在若干个小的页面里进行显示。见下面的例子:

Introduction of article here

#intro#
Page 1 content here
#page#
Page 2 content here
#page#
Page 3 content here
#page#
and so on...

别忘了在输入文章之后确认一下,因为只有经过确认的文章才能够用API检索得到。
检索类别和列表


既然你已经把内容放到了数据库里,那么现在就到了用API检索它并填充一个标准的HTML模板(可以对这个模板进行修改,以符合你网站的设计)的时候了。列表A里是该模板的基本代码。

一开始你可以使用Yaapi来检索某个特定类别里所有文章的列表,并在中间显示它们的标题、作者和简介。列表B里是PHP代码和实现这一代码的Yaapi API调用。这段代码需要稍稍解释一下。

在使用Yaapi的时候,所要做的第一步是对类的对象进行实例化;这个对象然后就会公开API方法和属性,用以访问数据库里的内容。为了获取标题的列表,你可以使用类别ID。后者可以通过URL传递或者是一个缺省的值。Get_titles()方法用这个类别ID来返回一个相关联的数组,其中包含该类别里的文章ID和(经过确认的)文章标题。

然后,get_article()方法会更加深入一步,在上一步里返回的文章ID列表里迭代,并返回代表每篇文章的对象。(文章)标题、作者细节和介绍都被作为对象的属性公开,并能够用标准的对象属性概念被检索。要注意的是,文章标题被更进一步通过文章ID对象链接到一个单独PHP脚本——article.php上。关于这一内容不久会有更多的介绍。


--------------------------------------------------------------------------------

提示
你可以向get_article()方法传递可选的第二个参数,即页面标号,用来返回文章的一个专门页面。


--------------------------------------------------------------------------------

要完成这个页面上的工作,剩下要做的所有事情就是取得和打印可用类别的列表(要记住,你左边的菜单需要这个列表)。你可以使用get_categories()方法来完成这一工作,这个方法会返回一个相关的数组,里面包含类别的名称以及它们各自的ID。列表C包含从列表B到这个脚本所需要的更新。

在图A里,你可以看到最终的结果:


检索文章的内容
完整文章的显示由article.php脚本来处理,这个脚本要用文章ID来调用。列表D包括这个脚本的代码,其中包括对页面分隔符的支持,这是通过允许你利用页面底部的页码跳到文章任何页面来实现的。

每个页面的内容通过前面讨论的get_article()方法来检索。唯一的不同之处是,所返回对象的“内容”属性现在将会保存文章的一个特定页面,而不是简介。

Num_pages()这个属性被用来获取文章的页面总数。这可以同一个简单的for()循环结合在一起生成一个页码导航条和超链接,每一个都可以回到相同的脚本,它们都具有相同的文章ID,但是不同的页面ID。

图B显示了输出结果是什么样的:

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

最简便的硬盘序列号查询方式 最简便的硬盘序列号查询方式 Feb 26, 2024 pm 02:24 PM

硬盘序列号是硬盘的一个重要标识,通常用于唯一标识硬盘以及进行硬件识别。在某些情况下,我们可能需要查询硬盘序列号,比如在安装操作系统、查找正确设备驱动程序或进行硬盘维修等情况下。本文将介绍一些简单的方法,帮助大家查询硬盘序列号。方法一:使用Windows命令提示符打开命令提示符。在Windows系统中,按下Win+R键,输入"cmd"并按下回车键即可打开命

今日头条发布文章怎么才能有收益?今日头条发布文章获得更多收益方法! 今日头条发布文章怎么才能有收益?今日头条发布文章获得更多收益方法! Mar 15, 2024 pm 04:13 PM

一、今日头条发布文章怎么才能有收益?今日头条发布文章获得更多收益方法!1.开通基础权益:原创文章选择投放广告可获得收益,视频必须要原创横屏才会有收益。2.开通百粉权益:粉丝量达到百粉以上,微头条、原创问答创作及问答均可获得收益。3.坚持原创作品:原创作品包含文章、微头条及问题等,要求300字以上。注意违规抄袭作品作为原创发布,会被扣信用分,即使有收益也会被扣除。4.垂直度:做专业领域一类的文章,不能随意跨领域写文章,会得不到合适的推荐,达不到作品的专和精,难以吸引粉丝读者。5.活跃度:活跃度高,

Microsoft Edge浏览器打开是360导航怎么改-更改打开是360导航的方法 Microsoft Edge浏览器打开是360导航怎么改-更改打开是360导航的方法 Mar 04, 2024 pm 01:50 PM

怎么更改MicrosoftEdge浏览器打开是360导航的页面呢?其实很简单,那么现在小编就和大家一起分享关于更改MicrosoftEdge浏览器打开是360导航页面的方法,有需要的朋友可以来看看哦,希望可以帮助到大家。打开MicrosoftEdge浏览器。我们看到是下图这种页面。点击右上角的三点图标。点击“设置”。在设置页面的左侧栏里点击“启动时”。点击右侧栏里的图中示意的三点(不要能点击“打开新标签页”),然后点击编辑,将网址改成“0”(或其他无意义的数字)。然后点击“保存”。接下来,选择“

如何使用Java编写一个简单的学生成绩报表生成器? 如何使用Java编写一个简单的学生成绩报表生成器? Nov 03, 2023 pm 02:57 PM

如何使用Java编写一个简单的学生成绩报表生成器?学生成绩报表生成器是一个可以帮助老师或教育者快速生成学生成绩报告的工具。本文将介绍如何使用Java编写一个简单的学生成绩报表生成器。首先,我们需要定义学生对象和学生成绩对象。学生对象包含学生的姓名、学号等基本信息,而学生成绩对象则包含学生的科目成绩和平均成绩等信息。以下是一个简单的学生对象的定义:public

Cheat Engine如何设置中文?Cheat Engine设置中文方法 Cheat Engine如何设置中文?Cheat Engine设置中文方法 Mar 13, 2024 pm 04:49 PM

  CheatEngine是一款游戏编辑器,能够对游戏的内存进行编辑修改。但是它的默认语言是非中文的,对于很多小伙伴来说比较不方便,那么CheatEngine怎么设置中文呢?今天小编就给大家详细介绍一下CheatEngine设置中文的方法,希望可以帮助到你。  设置方法一  1、双击打开软件,点击左上角的“edit”。  2、接着点击下方选项列表中的“settings”。  3、在打开的窗口界面中,点击左侧栏中的“languages”

如何通过C++编写一个简单的音乐推荐系统? 如何通过C++编写一个简单的音乐推荐系统? Nov 03, 2023 pm 06:45 PM

如何通过C++编写一个简单的音乐推荐系统?引言:音乐推荐系统是现代信息技术的一个研究热点,它可以根据用户的音乐偏好和行为习惯,向用户推荐符合其口味的歌曲。本文将介绍如何使用C++编写一个简单的音乐推荐系统。一、收集用户数据首先,我们需要收集用户的音乐偏好数据。可以通过在线调查、问卷调查等方式来获得用户对不同类型音乐的喜好程度。将数据保存在一个文本文件或数据库

Microsoft Edge在哪设置显示下载按钮-Microsoft Edge设置显示下载按钮的方法 Microsoft Edge在哪设置显示下载按钮-Microsoft Edge设置显示下载按钮的方法 Mar 06, 2024 am 11:49 AM

大家知道MicrosoftEdge在哪设置显示下载按钮吗?下文小编就带来了MicrosoftEdge设置显示下载按钮的方法,希望对大家能够有所帮助,一起跟着小编来学习一下吧!第一步:首先打开MicrosoftEdge浏览器,单击右上角【...】标识,如下图所示。第二步:然后在弹出菜单中,单击【设置】,如下图所示。第三步:接着单击界面左侧【外观】,如下图所示。第四步:最后单击【显示下载按钮】右侧按钮,由灰变蓝即可,如下图所示。上面就是小编为大家带来的MicrosoftEdge在哪设置显示下载按钮的

构建流畅无阻:如何正确配置Maven镜像地址 构建流畅无阻:如何正确配置Maven镜像地址 Feb 20, 2024 pm 08:48 PM

构建流畅无阻:如何正确配置Maven镜像地址在使用Maven构建项目时,配置正确的镜像地址是非常重要的。正确配置镜像地址可以加快项目构建的速度,避免网络延迟等问题。本文将介绍如何正确配置Maven镜像地址,并给出具体的代码示例。为什么需要配置Maven镜像地址Maven是一个项目管理工具,可以自动化构建项目、管理依赖、生成报告等。在Maven构建项目时,通常

See all articles