《2022年CI框架规范 .pdf》由会员分享,可在线阅读,更多相关《2022年CI框架规范 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CI 框架开发规范修改记录版本作者修改描述日期1.0 基本规定了MVC 等的目录结构及文件,类命名2011-08-12 概述目的与概述本规范是针对框架制定的一份编程风格,旨在统一编码风格及开发效率,缩减后期维护的开支。适用范围适用于应用了框架的PHP项目。CI原版即官方的下载版,其核心及类库默认均在system 下,1)不修改原版代码,只继承核心库及类库如:application/core/MY_Controller.php MY_前缀定义在application/config/config.php 如:application/libraries/MY_Session.php 如:applic
2、ation/libraries/MY_Lib_other.php Controller 1)均继承自/application/core/MY_Controller.php 构造函数不可少2)方法可访问域需明确限定,特别是不允许访问的方法一定限定为私有。【因其目录名为web,所以此处减少了web_前缀】/application/controllers/web/user.php/application/controllers/web/user_attribute.php(假设有)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -class User extends Contr
3、oller /*控制器下的视图路径,一般使用类名前缀(取削目录名)*/var$view_path=web/user_;function _construct()parent:_construct();public function index()$this-load-view($this-view_path.index,$html);public function add()$this-load-view($this-view_path.add,$html);3)定义视图路径(可选)Model 目录名1)小写英文字母2)表前缀如:web_user_Attribute 表 web/3)模块前缀如
4、:广告分析(advertising analysis)advertising/文件名1)小写英文字母2)下划线分隔3)表名web_user_attribute_model.php web_user_model.php 4)模块名advertising_analysis_model.php 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -类名1)与文件名相同2)首字母大写3)均继承自/application/models/model.php class Web_user_attribute extends Model function _construct()parent
5、:_construct();View 目录名1)与其控制器保持一致/application/views/web/user_attribute_list.php/application/views/web/user_list.php 文件名1)使用控制器名为文件前缀2)使用控制器方法名为文件后缀3)下划分分隔/application/views/web/user_attribute_index.php user_attribute 为控制器名index 为方法名/application/views/web/user_add.php user 为控制器名add 为方法名语言包目录名1)固定为 ap
6、plication/language/zh_cn/2)每个 model 配置的语言包放在model/下 即 application/language/zh_cn/model 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -文件名1)每个 model 配置的语言包与model 名保持一致web_user_model.php 其语言包为web_user_lang.php 内容格式1)其内容里的Key 前缀需与文件名保持一致,避免重名upload_lang.php$langupload_userfile_not_set=Unable to find a post variab
7、le called userfile.;$langupload_file_exceeds_limit=The uploaded file exceeds the maximum allowed size in your PHP configuration file.;$langupload_file_partial=The file was only partially uploaded.;$langupload_no_temp_directory=The temporary folder is missing.;配置文件目录名1)固定为 application/config/文件名1)符合基
8、本文件命名规范内容格式1)其内容里的Key 前缀需与文件名保持一致,避免重名以下是一个上传目录的配置文件参考/application/config/upload.php/根目录$configuploads_assets=uploads/;$configuploads_trademark_pic=trademark/;$configuploads_astrology_constellation_pic=astrology/constellation/pic/;$configuploads_astrology_constellation_pic_doll=astrology/constellati
9、on/pic/doll;$configuploads_astrology_constellation_flash=astrology/constellation/flash/;$configuploads_brand_pic=brand/pic/;$configuploads_product_pic=product/pic/;$configuploads_temp_img=temp/pic/;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -其他1)自定义及继承CI的类库在application/libraries/2)自定义助手函数在application/helper
10、s/3)函数$CI=&get_instance()返回的是CI_Controller 单例4)在 model 可以通过_get 函数访问CI_Controller 已加载的类或其他Model 如$this-load;function _get($key)$CI=&get_instance();return$CI-$key;5)在 model 中定义了其他other_model 为内部成员,$this-load-model(“other_model”)后,$this-other_model 不会再调用 _get 去获取,会返回空值6)在 view 中也可以使用其控制器已经加载的类库或model,如$this-model_name-func();|$this-session-staff_name();7)在类库里直接使用$this-load-model();是不行的,须通过$this-CI=&get_instance();$this-CI-load-model(web_user_model);8)在助手类中原理同上9).名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -