phpcms sp4系统中内容分表管理实现

简介: phpcms sp4系统是个不错的系统,后台的文件也安排的非常有序,一般是以file的参数的值为文件名+.inc.php文件,里面使用的是switch语句来响应不同的action,以内容管理为例子,内容管理的响应文件是content.inc.php文件 phpcms是可以自定义模型的,这样就涉及到分表的问题,phpcms的做法是将所有模块的主要内容如title,keyword,autho
phpcms sp4系统是个不错的系统,后台的文件也安排的非常有序,一般是以file的参数的值为文件名+.inc.php文件,里面使用的是switch语句来响应不同的action,以内容管理为例子,内容管理的响应文件是content.inc.php文件


phpcms是可以自定义模型的,这样就涉及到分表的问题,phpcms的做法是将所有模块的主要内容如title,keyword,author这样的信息保存在一个表中,然后新建一个表来保存扩展的字段,表名一般情况下是_c_模型名这样的,
这样保存信息的时候就要区别那些是主表的字段,哪一些是扩展表的字段,
在phpcms中是用两个数组来实现的是systeminfo,modelinfo,  systeminfo数据中存放的是主表的字段与值,modelinfo中保存的是扩展的字段与值,这样就对传入的值区分开保存了,
那么如何实现区别主表与扩展表呢?系统是使用的_model_field这个表中保存的字段信息来实现的,如果字段issystem属性为真那么就是主表,反之就是扩展表中的数据




PS:如果使用phpcms后台来管理其它现有系统的数据库的情况下,可以考虑直接从前台post过来的数据源中取,而不是从systeminfo,与modelinfo这两个数据中表,因为这个数据十分依赖model表
相关文章
|
测试技术 数据库管理 关系型数据库
PMS 修改禅道默认首页元素及展示
PMS 修改禅道默认首页元素及展示
457 0
|
存储 数据库
laravel-admin 查询过滤时间戳(数据库使用int类型)不起作用案例复现及解决办法
laravel-admin 查询过滤时间戳(数据库使用int类型)不起作用案例复现及解决办法
278 0
laravel-admin 查询过滤时间戳(数据库使用int类型)不起作用案例复现及解决办法
|
数据库
Discuz! X3.5 DIY模块管理无法删除的解决方法
这时候可以手动清理相关的数据库,重点是_common_block表,还有_common_diy_data 与_common_template_block表,切记清理前备份好数据库,清理的时候记得不要清理错了,不然就得重新恢复数据库了
322 0
Discuz! X3.5 DIY模块管理无法删除的解决方法
|
数据安全/隐私保护 数据库
phpcms sp4系统中管理员登陆的原理
phpcms sp4系统是个不错的系统,后台的文件也安排的非常有序,一般是以file的参数的值为文件名+.inc.php文件,里面使用的是switch语句来响应不同的action大概上说下后台管理员的登录过程,实现的动作是使用login.inc.php文件 if($dosubmit) { require PHPCMS_ROOT.'languages/'.LANG.'/member.
1355 0