phpcmsv9源码解析 程序启动部分 系统概述

来源:互联网 发布:思讯收银软件多少钱 编辑:程序博客网 时间:2024/05/01 17:27

phpcmsv9源码解析 程序启动部分 系统概述


phpcms v9是php+mysql编写的内容管理系统,使用单一入口的方式限制访问系统内部资源,入口程序只是加载系统基础类库,并启动整个系统。


phpcmsv9系统的启动部分放在了index.php中,默认的访问路径,只有三行代码,

定义整个系统的安装目录,加载基础类,启动系统。


index.php中简洁的代码显示的是phpcmsv9整体的架构层次分明,phpcmsv9的整体结构

划分为不同的部分,基础类库,便是base部分,对用户的初始化,对输入输出的初始化,

对系统要用到的基本功能的初始化,日志功能,单一入口,mvc模式的实现,对不同的资源的加载,使得开发过程不必再为对象的建立销毁费心思,在基础类库中就已经做到这些了。

整个系统的层次结构划分合理显示出可靠性,phpcmsv9系统解决的另一个问题是需求变更的问题,可以方便的进行功能扩展是必须的,使用插件的方法是扩展功能的方法之一,使用覆盖式或扩展式的开发可以实现功能的扩展,phpcmsv9要扩展模块只要按要求的命名方式,放置在要求的目录下,就会很好的工作。基本类库规划了系统的基础,进行开发时只要构建数据结构,并使用MVC的方式添加内容就可以了。


在浏览器中键入http://域名/index.php后,经过phpcmsv9系统的解析,会展示系统默认的主页面,并可以通过主页面访问不同的栏目下的内容。index.php 页面中会根据系统的路径查找默认的控制器,事件,并根据默认的配置找到相关的页面文件。


频道 栏目 内容的管理的基本过程是按统一的标准进行的,键入资源的URL,解析控制器和事件,根据配置信息查找对应的页面文件,进行添加,删除,更新,修改的处理。



了解phpcmsv9的源码的文件结构

phpcms是程序的框架主目录,在这个目录中存放的是系统的全部的代码文件,libs子目录中存放的是基本类库,modules中放的是模块目录,在后台的管理菜单中对应的是这个目录下的一个个的页面文件,class中是基本的类文件,其他的php结尾的文件一般为控制器或模型文件,这些文件通过系统基本类库解析,根据控制器和事件进行加载使用,并且使用模版返回给浏览器解析的结果。


 http://yourdomain.com/index.php?m=content&c=index&a=show&id=1

这是一般的URL,通过phpcms文件夹下的base.php进行解析,使用phpcms目录下的libs子目录下的基本类库文件进行功能页面的调用,m是module目录下的content子目录,c代表的是content子目录下的index.php页面中的index类,a则是其中的方法名字,id则是传递给a这个类方法的参数。


了解phpcms下的目录和文件


phpcms在系统目录下存放,在这个目录中只有一个base.php放在根目录中,其他的类

和函数则在classes和functions中存放。

在module中,文件的目录结构是相似的,分别使用classes functions data区分不同功能的文件,并且使用index.html在目录下。model中存放的是model文件,这些model文件的命名方式是控制器_model.php的方式,在基础类库中加载model文件时就可以根据文件名实现加载文件。


index.php的具体解析过程

index.php的具体解析过程代表了phpcmsv9规划的系统解析的一般过程,根据

对URL中的参数的解析实现按名字区分的功能文件的加载,并且使用这些不同的

文件中的函数实现管理操作,并使用模板的方式将结果返回给浏览器端。


index.php是使用系统默认的配置进行控制器的加载和事件的使用的,基本过程是

在系统类库中尝试加载cma这些参数的内容,并且试图根据这些参数的内容加载

功能页面,在检测这些参数的内容为空后加载系统默认的配置文件,存放路径是caches

下的配置文件即caches/configs/route.php ,

route.php 中的内容是默认的转向的配置,即转向到默认的主页面。

return array(
    'default'=>array('m'=>'content', 'c'=>'index', 'a'=>'init'),
);


这里要区分的是默认的配置和在后台管理菜单中的操作和在前台页面中的不同的操作

中的mca的不同,基本过程是相同的,通过解析加载调用输出实现不同的功能。在不同的URL中使用不同的参数调用的不同模块下的功能文件。






后台登录 后台主页框架的生成 左侧菜单  右侧的操作页面  不同模块的具体实现逻辑

数据库表的优化    phpsso的原理  静态页面的生成 模版系统   插件机制  二次开发

整合使用的API      缓存系统 漏洞 注入






0 0
原创粉丝点击