{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
phpcmsv9框架的目录结构分析
phpcmsv9框架的目录结构分析:了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识打开"mycms"项目,有如下文件和目录使用协议说明文档、英文版的用户手册,这两项不是项目所必须的,可暂时将其删除|-----api接口文件目录|-----caches缓存文件目录|-----configs系统配置文件目录|-----database.php数据库配置文件|-----route.php路由配置文件|-----system.php系统配置文件|-----cache.php缓存配置文件|-----configs_*系统缓存文件目录|-----configs_commons/caches_data主要用来存放后台设置的配置信息|-----category_content.cache.php栏目与站点映射所对应的配置文件|-----category_content_1.cache.php站点1下所有栏目的详细配置信息|-----category_item_1.cache.php文章模型下各栏目所对应的数据量|-----category_item_2.cache.php下载模型下各栏目所对应的数据量|-----category_item_3.cache.php图片模型下各栏目所对应的数据量|-----keylink.cache.php关联链接配置缓存文件|-----model.cache.php三大模型配置缓存文件|-----mood_program.cache.php表情配置缓存文件|-----position.cache.php推荐位配置缓存文件|-----poster_template_1.cache.php广告位模板配置缓存文件|-----sitelist.cache.php站点列表配置文件,主要缓存所有站点的基本配置信息|-----type_content.cache.php多个站点下的类别配置信息|-----type_content_1.cache.php当前站点下类别配置信息缓存文件|-----urlrules.cache.phpurl规则配置信息缓存文件|-----urlrules_detail.cache.phpurl规则详细配置信息缓存文件|-----special.cache.php专题配置信息缓存文件|-----role.cache.php角色配置缓存文件|-----link.cache.php友情链接缓存文件|-----configs_model/caches_data|-----content_form.class.php生成表单的类库缓存文件|-----content_input.class.php入库时,对表单数据进行验证的类库缓存文件|-----content_output.class.php对从数据表中查询出来的数据进行处理的函数|-----content_update.class.php对要更新的数据进行有效性验证的函数|-----model_field_1.cache.php文章模型所有模型字段的缓存信息|-----model_field_2.cache.php下载模型所有模型字段的缓存信息|-----model_field_3.cache.php图片模型所有模型字段的缓存信息|-----phpcmsphpcms框架主目录|-----languages框架语言包目录|-----libs框架主类库、主函数库目录|-----classes|-----form.class.php表单生成类库文件|-----application.class.php应用程序类库文件|-----image.class.php图片处理类库文件|-----attachment.class.php附件处理类库文件|-----param.class.phpurl参数处理类库文件|-----functions|-----global.func.php公共函数库文件|-----extension.class.php扩展函数库文件|-----model框架数据库模型目录|-----content_model.class.php内容模型文件|-----admin_model.class.php管理员模型文件|-----attachment_model.class.php附件模型文件|-----modules框架模块目录|-----adminadmin模块|-----index.phpindex.php控制器文件|-----contentcontent模块|-----classescontent模块通用类库|-----fieldscontent模块模型字段|-----functionscontent模块通用函数库|-----templatescontent模块后台模板文件|-----index.phpindex.php控制器文件|-----templates框架系统前台模板目录|-----default默认的模板风格|-----contentcontent模块模板目录|-----category.html频道页模板文件|-----list.html列表页模板文件|-----show.html内容页模板文件|-----config.php模板配置文件|-----phpsso_serverphpsso主目录|-----statics网站素材文件目录|-----csscss文件|-----imagesimages文件|-----jsjs文件|-----uploadfile上传附件|-----admin.php后台入口文件|-----index.php前台入口文件phpcmsv9中的url路由规则:浏览器中输入http://www.mycms.com/index.php?m...;a=list&catid=1回车时,默认情况下会找到phpcms框架主目录|-----modules模块目录|-----contentcontent模块|-----index.phpindex.php控制器中list方法来显示列表页面到底是不是呢?我们打开index.php控制器文件,并在index方法中添加一些代码,运行输出,证明确实如我们所料我们可以将浏览器中的url归纳如下:http://域名/入口文件?m=模块名&c=控制器&a=方法名&catid=参数值当我们在浏览器中输入http://www.myshop.com/index.php后面没有跟任何参数,回车时,默认情下会将首页显示出来这是因为phpcmsv9为我们指定了一个默认执行的模块、控制器和方法默认控制器的设置在"caches/configs/routes.php"配置文件中进行设置的,我们可以重新设置默认的控制器六、栏目的添加1、pc设计者认为,栏目详情页的数据都应该属于一个模型,所以在添加栏目时,必须给栏目指定一个模型,至于要选择什么模型,完全取决于栏目详情页要显示什么类型的内容详情页:文章信息类的内容文章模型详情页:图片类信息图片模型详情页:下载东西下载模型详情页:播放视频视频模型2、如果以上模型还不能满足项目的需要,那么我们还可以自定义模型,通常情况下,一个网站是由多种模型的数据来组成的3、栏目添加选项:栏目名称:在网站静态化时,创建一个以此目录名命名的目录来存放当前栏目下相关的模板文件4、pc的设计者认为,每个栏目会对应当前所选模型的三个模板文件:频道页模板文件列表页模板文件内容页模板文件这些模板文件所在位置:phpcms/templates/default/content/目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文件进行修改就可以了频道页:category_*.html列表页:list_*.html内容页:show_*.html至此,栏目各页面与模型的三个模板文件对应起来了注意:频道页面的显示是有条件的(当前栏目必须有子栏目才可以)5、栏目添加成功后,栏目信息被存储到了v9_category数据表中,同时还被缓存到了phpcms/caches/caches_common/category_content.cache.php文件中,这个缓存文件非常重要,一定要引起足够的重视,前台的很多数据都是直接从此缓存文件中获取来的七、项目的部署:1、素材文件:statics|-----images|-----cmsimages项目图片文件|-----js|-----cmsjs项目js文件|-----css|-----cmscss项目css文件phpcms|-----templates|-----new新的模板风格|-----content内容模块模板文件|-----category.html频道页模板文件|-----list.html列表页模板文件|-----show.html内容页模板文件|-----config.php添加模板文件的配置或者|-----default|-----content内容模块模板文件|-----category_shetu.html频道页模板文件|-----list_shetu.html列表页模板文件|-----show_shetu.html内容页模板文件|-----config.php配置新添加的模板文件注意:模板文件的命名规范2、进入后台,将栏目与模板文件对应起来3、常量的定义:phpcms/base.php文件4、系统类库、函数库、模型文件及配置文件的加载pc_base::load_sys_class();//加载系统类库pc_base::load_sys_func();//加载系统函数库pc_base::load_model();//加载模型pc_base::load_config();//加载配置文件或配置选项信息pc_base::load_app_func();//加载应用程序函数库pc_base::load_app_class();//加载应用程序类库全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用