KingCMS接触之:源代码剖析


  先从核心开始./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这个要依安装时你的选择.里面都是对数据操作的封装.

你可能感兴趣的:(cms)