PHPCMS 框架教程
什么是 PHPCMS?
PHPCMS 是一款非常经典的国产 PHP 开源网站管理系统,它基于 PHP 语言开发,采用 MySQL 数据库,采用 MVC(Model-View-Controller)设计模式进行架构。
核心特点:
- 模块化设计:网站由不同的模块(如内容、会员、评论、广告等)组成,每个模块都可以独立安装、升级和管理。
- 模板与程序分离:网站的样式(HTML/CSS/JS)和程序逻辑完全分离,这使得不懂编程的设计师也能通过修改模板文件来改变网站外观,而不会影响核心程序。
- 标签调用:PHPCMS 使用其独有的标签(类似函数)来从数据库中获取数据并显示在模板上。
{pc:get}是最常用的一个标签,用于获取任意表的数据。 - 强大的后台管理:提供可视化的后台操作界面,可以方便地管理内容、会员、模型、模板、缓存等。
- 生态丰富:拥有大量的第三方模块、插件和模板资源,非常适合快速搭建各类网站,如企业官网、门户网站、博客等。
重要提示:PHPCMS 的官方主版本已经停止更新多年,目前社区和市场上仍在广泛使用和讨论的是 PHPCMS 2008 这个经典版本,本教程将以 PHPCMS 2008 为基础进行讲解。
环境准备
在开始之前,您需要搭建一个 PHP 运行环境,对于新手,强烈推荐使用集成环境包。
-
集成环境软件:
- phpStudy (推荐,国内用户多,配置简单)
- XAMPP (跨平台,功能全面)
- WampServer (Windows 平台专用)
-
环境要求 (针对 PHPCMS 2008):
- PHP 版本: PHP 5.2.x ~ PHP 5.6.x (建议使用 PHP 5.4 或 5.5)
- MySQL 版本: MySQL 5.0 及以上
- Web 服务器: Apache 或 Nginx (PHPCMS 2008 对 Apache 的兼容性更好)
安装步骤:
- 下载并安装您选择的集成环境软件。
- 启动环境,确保 Apache 和 MySQL 服务正在运行。
- 将下载好的 PHPCMS 安装包解压,并将
upload文件夹内的所有文件和文件夹,上传到您的 Web 根目录(通常是phpStudy/WWW/或htdocs/)。 - 在浏览器中访问您的域名,
http://localhost/,您将看到 PHPCMS 的安装向导。 - 按照向导提示,填写数据库信息(数据库名、用户名、密码等),然后开始安装。
- 安装完成后,删除根目录下的
install文件夹以确保安全。 - 访问
http://localhost/admin.php进入后台管理,使用默认管理员账号admin和您设置的密码登录。
核心概念解析
理解以下三个核心概念是掌握 PHPCMS 的关键。
模型
模型是 PHPCMS 的数据结构定义,它决定了您网站内容(文章、产品、图片等)应该包含哪些字段。
- 作用:定义一个内容类型的“骨架”。
- 示例:
- 文章模型:可能包含标题、作者、来源、发布时间、内容、缩略图等字段。
- 产品模型:可能包含产品名称、型号、价格、规格、详情、产品图集等字段。
- 如何管理:在后台 ->
模型管理中,您可以创建、修改和删除模型,每个模型都会在数据库中对应一张数据表。
栏目
的“分类容器”,它将内容组织成一个有层次的结构。
- 作用:分类管理内容,并设置内容在网站的展示方式。
- 属性:
- 绑定模型:每个栏目都必须绑定一个模型,这意味着该栏目下的所有内容都将遵循这个模型的数据结构。“新闻”栏目绑定“文章模型”,“产品”栏目绑定“产品模型”。
- 栏目类型:
- 列表栏目:用于展示多篇内容,如“新闻列表”、“产品列表”。
- 封面栏目:通常只展示一个单页内容,如“关于我们”、“联系我们”。
- 外部链接:点击后跳转到其他网站。
- 如何管理:在后台 ->
栏目管理中,您可以创建无限层级的栏目树。
模板
模板是网站最终呈现给用户的“外观和皮肤”,它是一个 HTML 文件,其中嵌入了 PHPCMS 的标签。
- 作用:分离程序逻辑和页面表现,实现灵活的页面定制。
- 存放位置:所有模板文件都存放在
/templates/目录下。/templates/default/是默认模板文件夹。/templates/您的模板名/是您自己创建的模板文件夹。
- 模板文件:模板文件夹内部的结构通常与网站的栏目和模块相对应。
index.html是首页,category.html是列表页,show.html是内容详情页。
实战演练:创建一个“新闻列表”页面
假设我们要在首页显示最新发布的5条新闻。
步骤 1:准备数据
- 检查模型:进入后台 ->
模型管理,确认有一个名为“文章”的模型(通常是默认自带的)。 - 创建栏目:
- 进入 ->
栏目管理->添加栏目。 - 栏目名称: “公司新闻”
- 绑定模型: 选择“文章”
- 栏目类型: 选择“列表栏目”
- 填写其他信息后保存。
- 进入 ->
- :
- 进入 ->
内容管理-> 。 - 在顶部的下拉菜单中选择“公司新闻”栏目。
- 、内容等信息,并上传一张缩略图。
- 点击“提交”发布,重复此步骤,发布5条新闻。
- 进入 ->
步骤 2:修改模板
- 找到首页模板:通过 FTP 或文件管理器,打开
/templates/default/目录,找到index.html文件。 - 添加标签调用:在您希望显示新闻列表的位置(
<div class="news-list">内部),添加 PHPCMS 的标签。
核心标签:{pc:get}
这个标签的通用格式如下:
{pc:get sql="SQL语句" num="显示数量" cache="缓存时间" return="数据变量名"}
{loop $数据变量名 $r}
<!-- 循环输出内容 -->
<li>
<a href="{$r[url]}">{$r[title]}</a>
<span>{$r[updatetime]}</span>
</li>
{/loop}
{/pc}
如何获取 SQL 语句? 最简单的方法是:
- 进入后台 ->
内容管理。 - 点击右上角的“生成SQL”按钮。
- 在弹出的窗口中,选择您要调用的栏目(“公司新闻”),设置调用数量(5),然后点击“生成”。
- 复制生成的 SQL 语句,
SELECT * FROMv9_newsWHEREcatid=5 ANDstatus=1 ORDER BYidDESC LIMIT 0,5,这里的catid=5 是您刚才创建的“公司新闻”栏目的ID。
将标签写入 index.html:
<div class="news-section">
<h2>最新新闻</h2>
<ul class="news-list">
<!--
sql: 从上面复制的SQL语句
num: 5, 显示5条
cache: 3600, 缓存1小时,提高访问速度
return: $news_data, 将查询结果赋值给变量 $news_data
-->
{pc:get sql="SELECT * FROM `v9_news` WHERE `catid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 0,5" num="5" cache="3600" return="$news_data"}
{loop $news_data $r}
<li>
<!--
$r[url] 是 PHPCMS 自动生成的内容详情页链接
$r[title] 是文章标题
$r[updatetime] 是更新时间
$r[thumb] 是缩略图地址
-->
<a href="{$r[url]}" target="_blank">{$r[title]}</a>
<span class="date">{date('Y-m-d', $r[updatetime])}</span>
</li>
{/loop}
{/pc}
</ul>
</div>
步骤 3:查看效果
保存 index.html 文件,然后在浏览器中刷新您的网站首页,您应该就能看到刚刚添加的5条新闻了。
常用标签速查
| 用途 | 示例 | |
|---|---|---|
{pc:get} |
万能标签,从任意表获取数据 | {pc:get sql="..." num="10" ...} |
{loop} |
{pc} 或 {sql} 标签的配套循环标签 |
{loop $data $r}...{/loop} |
{category} |
获取栏目信息 | {loop $CATEGORY $r}{$r[catname]}{/loop} |
{php} |
执行任意 PHP 代码 | {php $a = 1; echo $a;} |
{siteurl} |
获取网站根目录 URL | <a href="{siteurl}">首页</a> |
{date} |
格式化时间戳 | {date('Y-m-d H:i:s', $r[inputtime])} |
进阶学习与资源
- 官方文档:虽然 PHPCMS 官网已不维护,但一些老文档和论坛帖子依然有价值,可以搜索“PHPCMS 2008 文档”。
- 视频教程:在 Bilibili、腾讯课堂等平台搜索“PHPCMS 教程”,有大量视频课程,特别是针对新手入门的。
- 社区和论坛:
- PHPCMS 官方论坛 (已关闭,但内容可被搜索引擎搜索到)
- CSDN、博客园:搜索关键词,可以找到很多开发者的经验和问题解决方案。
- 分析现有模板:下载一套免费的 PHPCMS 模板,解压后仔细研究其模板文件和标签写法,是快速提升技能的好方法。
PHPCMS 是一个强大且灵活的建站系统,其核心魅力在于 模型、栏目、模板 的分离设计。
-
新手入门路径:
- 搭建环境,成功安装。
- 理解模型、栏目、模板的概念。
- 学会使用后台添加内容和栏目。
- 掌握核心标签
{pc:get}和{loop}的基本用法。 - 尝试修改默认模板,调用内容,看到效果。
-
开发者进阶方向:
- 深入学习标签的各种参数和高级用法。
- 学习编写自定义模块。
- 研究其底层 MVC 架构,了解控制器、模型、视图的交互方式。
- 进行二次开发,修改或扩展核心功能。
希望这份教程能帮助您顺利入门 PHPCMS!
