<?php
/*
* 简易的CMS插件,可供借鉴或者扩展
*
* ---- 流程:
* 定义内容;
* 分类与组织内容
* 存储内容
* 操作控制内容
*
* 定义内容:
* 制定目标;
* 确定需要的内容类型
* 目标用户定位
* 确定目标用户需要何种技术
*
* 分类与组织内容:
* 按内容所属的逻辑层级关系来划分
* 按内容的种类来划分,比如video/text/audio等等
*
* 存储内容:
* 关系数据库
* XML
* 文本文件
*
* 操作控制内容:
* 对操作进行颗粒度分离
* 提供足够的元数据信息
* 内容的描述
* 外部展示(web/xml/html),以及定义UI
*/
require_once 'db.php';
abstract class SimpleCMS {}
class SimpleCMS_Model_ContentType {
/**
* @var FirePhpHelper
*/
protected $_firePhpHelper = null;
/**
* @var CoreDb
*/
protected $_dbo = NULL;
protected $_tableName = 'content_types';
protected $_primaryKey = 'ctype_id';
protected $_nameField = 'ctype_name';
protected $_descriptionField = 'ctype_description';
protected $_createdField = 'created_at';
protected $_updatedField = 'updated_at';
/**
* 构造函数
*/
function __construct(){
$this->_firePhpHelper = FirePhpHelper::getInstance();
}
/**
* 查找内容类型列表
*
* @var mixed $cond
* @var int|array $limit
* @var string $fields
*
* @return array
*/
function getAll($cond=null,$limit=null,$fields='*'){}
/**
* 更新内容类型记录,参数中必须带着主键字段
*
* @var array $row
*
* @return boolean
*/
function update(array $row){
if (isset($row[$this->_primaryKey])){
$row[$this->_updatedField] = CURRENT_TIMESTAMP;
$sql = CoreDbSqlHelper::getUpdateSQL($this->_dbo,$row,$this->_primaryKey,$this->_tableName);
return $this->_dbo->execute($sql,$row,true);
}
return false ;
}
/**
* 添加一个内容类型,返回插入的主键值
*
* @var string $name 类型名
* @var string $description 描述
* @var array $extra 额外字段属性
*
* @return int
* @throws SqlQueryException
*/
function add($name,$description,array $extra=null){
$row = array(
$this->_nameField => $name ,
$this->_descriptionField => $description ,
$this->_createdField => CURRENT_TIMESTAMP ,
);
if ($extra){
$row = array_merge($row,$extra);
}
$sql = CoreDbSqlHelper::getInsertSQL($row,$this->_tableName);
if ($this->_dbo->execute($sql,$row,true))
return $this->_dbo->lastInsertId();
return false;
}
/**
* 类型主键是否存在
*
* @var string $primaryKey
* @return boolean
*/
function existsByPrimaryKey($primaryKey){
return $this->_dbo->getDbUtils()->findCount(
$this->_tableName,array($this->_primaryKey=>(int) $primaryKey),$this->_primaryKey);
}
/**
* 类型名称是否存在
*
* @var string $name
* @return boolean
*/
function existsByName($name){
return $this->_dbo->getDbUtils()->findCount(
$this->_tableName,array($this->_nameField=>$name),$this->_primaryKey);
}
}
未完,待续...
分享到:
相关推荐
4. **模板设计模式**:CMS通常会支持用户自定义页面布局和样式,OOP的模板设计模式可以很好地支持这一点,通过定义模板类,用户可以创建自己的模板,改变网站外观。 5. **数据库操作**:OOP的ORM(Object-...
在学习CMS识别技术的过程中,最佳的方式是通过动手实践来加深理解。可以通过在线实验的方式,模拟实际的网站扫描过程,体验如何收集web指纹、进行指纹分析,以及编写相应的扫描脚本。 最后,CMS识别技术属于网络...
【标题】"cms.zip_cms ssm教程_ssm cms_...通过这个教程,你可以全面掌握SSM框架,并能实际动手构建一个功能完备的CMS系统。在学习过程中,除了理论知识,更重要的是动手实践,通过编写代码和解决实际问题来提升技能。
CMS内容管理系统是用于在线创建...综上所述,这个"CMS内容管理系统 java源码"项目是学习和实践CMS开发的宝贵资源,通过深入研究源码,开发者可以提升自己的Java技术和Web开发能力,同时为构建高效的企业门户奠定基础。
ASP网站内容管理系统(CMS)是用于构建和管理网站的强大工具,...在解压并研究提供的文件【CMS程序]Zimplit CMS管理系统 v3.0_zimplitcms】时,你可以逐步探索这些功能并动手实践,进一步理解ASP CMS的工作原理和应用。
通过CMS0705_01这个项目,初学者可以实际动手操作,体验从零开始搭建CMS的过程,加深对上述知识点的理解。同时,实践是最好的老师,通过解决实际问题,学习者可以积累宝贵的开发经验,为日后的职业发展奠定坚实基础...
【SpringMVC+Mybatis+EasyUI CMS系统详解】 SpringMVC、Mybatis和EasyUI是Web开发中常用的三大技术栈,它们各自扮演着重要的...对于初学者来说,这是一个绝佳的学习实践平台,能够提升对Web开发的整体认知和动手能力。
Craft CMS的“自己动手”小部件 为控制面板创建自己的仪表板小部件的超级简单方法。 安装 插件商店中提供“自己动手”窗口小部件。 您还可以使用以下命令从命令行手动安装插件。 > composer require carlcs/craft-...
亚盟源码 简介: 苹果cms程序是一套采用...如果新手刚刚开始接触苹果cms,视频分类绑定自己动手会非常麻烦 如果选择创建分类进行采集,嫌手工添加及捆绑分类麻烦,可以下载文件这个文件,全自动解放放手 ymw98
“项目实训”强调了实际操作和动手能力的培养;“c#”和“asp.net”是微软开发的两种核心技术,C#是一种面向对象的编程语言,而ASP.NET则是一个用于构建Web应用的框架。 1. **C# ASP.NET MVC**:MVC(Model-View-...
这个压缩包包含了一个完整的Koobi CMS系统的源代码,供开发者学习、研究或作为项目基础来开发自己的网站。通过分析和理解这个源码,我们可以深入探讨PHP在Web开发中的应用以及CMS系统的基本架构。 首先,Koobi CMS...
通过这个基于PHP的齐博整站CMS文章系统课程培训,你将不仅学会如何使用CMS搭建网站,还能深入理解PHP开发,提升自己的Web开发技能。记得实践是检验真理的唯一标准,多动手操作,理论结合实际,才能真正掌握这些知识...
书中可能介绍了几种常见的架构模式,比如MVC(模型-视图-控制器),并指导读者如何将这些模式应用于自己的项目中。 - **性能优化**:数据库查询优化、缓存机制等技术对于提升CMS的响应速度至关重要。书中可能提供了...
《CMS与模板制作》是一门实践性和理论性并重的课程,旨在提升学生的动手能力和创新思维,为他们未来在Web开发领域的深入学习打下坚实基础。 1.4 教学目标 - 理解CMS的工作原理和架构,熟悉主流CMS平台如WordPress、...
【aspnet简单cms源码】是一款专为初学者设计的精美网页模板,它采用ASP.NET技术构建,结合了CSS和Div布局,使得网页设计既美观又具有良好的结构化...通过实际动手操作和修改源码,你将更深入地体验到Web开发的魅力。
有能力自己集成的可以自己动手,能够集成在科讯CMS系统的图片详情页面。这 会便你的网站更加专业和大气。好处就不多说了。 测试方法,在本目录下可以直接运行index.htm来看效果,但在全屏状态下,需要使用网络 ...
在网上找个wordpress的中文cms模板很难,于是就自己动手编写一个一套模板,主题名称为:ErrorGo-Green,版本为bata版,本人在IE8,Firefox,谷歌浏览上上测试正常。 使用须知: 1)首页的幻灯片式图片变换:图片及...
2. **动手实践**:通过编写简单的ASP页面,熟悉如何生成动态内容。 3. **数据库操作**:学习使用ADO进行数据库操作,掌握SQL基本语法。 4. **CMS框架**:研究现有的ASP CMS系统,如dotNetNuke,了解其架构和设计思路...
齐博整站CMS文章系统是一款基于PHP开发的内容管理系统,专为构建文章类网站设计。它提供了丰富的功能,便于用户管理网站内容,实现高效的文章...记住,实践是检验真理的唯一标准,动手操作和修改源码是最好的学习方式。
“益智玩具”部分则会突出各种开发智力、提高动手能力的玩具,如拼图、积木、科学实验套件等。这部分的设计可能更加注重互动性和教育价值的展示,例如通过动画、视频或用户评价来增强产品的吸引力。 此外,该模板...