KingCMS接触之:源代码剖析

本文介绍了KingCMS的核心组件,包括其公共属性与方法,并详细解释了如何通过这些组件实现诸如页面执行引擎、加载模块等功能。此外,还展示了如何使用KingCMS进行国际化、表单验证等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先从核心开始./system/core.class.php.里面是KingCMS_class的定义你只要看到别的页中有:
global $king或$king哪么它就是该类的实例了.看看它提供的属性和方法
      ------公共属性------
      lang,cache,skin,db,admin=array(),holdmodule=array(...),devname=2010,version=6
      私有属性说也没用你在实例中也调不到.看公共方法吧
        pageEngine     //页面执行引擎
        Load           //加载模块
        isModule       //判断模块是否已经被安装
        getModule      //返回模块列表
        config         //网站参数
        access         //管理员访问权限验证
        acc            //管理员操作权限验证
        progress       //进度条
        log            //添加日志
        formdecode     //解析表单项目
        getUrl         //对URL进行数组处理
        getFpath       //判断文件与否,并输出格式化路径
        getFext        //根据文件类型返回文件扩展名
        getConfig      //返回系统参数
        getModuleVer   //返回模块版本
        openList       //列表 - 开始
        tdList         //功能参数同上,此为数据列表
        closeList      //列表 - 结束
         openForm      //开始显示表单
        splitForm      //拆分表单显示
        htmForm        //返回htm标签
        closeForm      //结束类

 

/system/lib/下除了func.php是工具函数的集合.simple_html_dom.php是对DOM操作的工具函数和方法.其它几个都是对CMS操作的OO化.有
kc_template_class.php   //KingCMS模版标签的解析
kc_skin_class.php           //对后台操作的皮肤化吧.我觉得叫操作的组合化比较好
kc_xml_class.php           //所有的记录都是以XML缓存化的.这个就是干这使的
kc_verify_class.php       //表单的验证类

 

上面的只是从源码中扣出来的让我们来看看实际有用的示例:
$king->cache->put($cachepath,$array);
在公共变量中cache指向的是/system/lib/kc_cache_class.php的实例.该文件是KC_Cache_class的定义.put方法当然在该类中了.

$king->lang->get('system/common/error')
在公共变量中lang指向的是/system/lib/kc_language_class.php的实例.该文件是KC_Language_class的定义.get方法是去找/system/language/语言.xml
在我的包中是zh-cn.该里面定义是系统的文字/消息.作过I18N国际化的都知道了.get的参数是一个节点表达式.是找system下的子节点名为common下的子节点名为error的文字/消息
$king->db->getRows("select listid from %s_list;")
在公共变量中db指向的是/system/lib/kc_mysql_class.php或者kc_sqlite_class.php这个要依安装时你的选择.里面都是对数据操作的封装.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值