




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
YII架构说明V1.0保密文件不得外传前言编写目的本文档是app手机服务端开发与及维护说明。适用范围本手册适用于app手机服务端的开发维护及相关人员。软件结构说明应用程序目录结构globals.php全局入口文件index.php首页admin/后台管理模块 index.php后台入口文件 protected/ 后台管理应用目录 components/后台通用辅助目录 CArray.php数组扩展 Controller.php控制器扩展 Helpfn.php函数扩展 Http.phphttp请求扩展 Keycode.php加密扩展 UcloginController.php用户接口扩展 UserIdentity.php用户登录认证类 config配置目录 main.php后台配置文件 params.php后台参数配置 controllers后台控制器目录 FamilyController.php表情控制器 IndexController.php管理首页控制器 KnowdgeCatController.php知识库分类控制器 KnowdgeController.php知识库内容控制器 MemberController.php会员管理控制器 MenuController.php菜单管理控制器 MenuStepController.php菜谱管理控制器 MessageController.php信息管理控制器 PhotoController.php图片管理控制器 PinjiaController.php评价管理控制器 PushMessageController.php消息推送控制器 QAController.phpqa管理控制器 RecommendController.php推荐管理控制器 RelationController.php用户关系控制器 SearchajaxController.php搜索辅助控制器 SiteconfigController.php站点配置控制器 SysLdItemController.php联动信息配置控制器 SysMenuController.php管理菜单配置控制器 UserinfoController.php用户详细信息控制器 VegetableController.php菜品管理控制器 WeiboController.php微博管理控制器 models/后台模型目录 AccessLog.php客户端日志 App.phpapp服务 AppClient.phpapp客户端 Assignmenus.php授权菜单 Family.php表情 Image.php图片 Knowdge.php知识库 KnowdgeCat.php知识库分类 Member.php会员及管理员 Menu.php菜单 MenuStep.php菜谱 Message.php消息 MessagePushFlow.php消息推送 MessageReceiveApp.php推送服务端 MessageReceiveClient.php推送客户端 Msg.php消息 Photo.php相册 PointLog.php积分日志 PushMessage.php推送消息 QAItem.phpqa信息 Recommend.php推荐信息 Region.php地区 Relation.php用户关系 SiteUser.php管理员 SysDd.php字典 SysDdItem.php字典配置 SysLdItem.php联动数据 SysMenu.php管理菜单 SysMessage.php用户消息 UserInfo.php用户详细信息 UserPinjia.php用户评价 UserWeibo.php微博信息 UserWeiboLog.php微博日志 Vegetable.php菜品 views后台视图目录 family/index.php表情视图 family/update.php表情视图 family/_form.php表情视图 index/admincenter.php管理首页视图 index/adminleft.php管理首页视图 index/adminpass.php管理首页视图 index/adminright.php管理首页视图 index/admintop.php管理首页视图 index/error.php管理首页视图 index/index.php管理首页视图 knowdge/list.php知识库视图 knowdge/update.php知识库视图 knowdgeCat/list.php知识库视图 knowdgeCat/update.php知识库视图 main/footer.php主框架页视图 main/header.php主框架页视图 main/message.php错误提示视图 member/info.php会员视图 member/list.php会员视图 member/login.php会员视图 member/shop_cert.php会员视图 member/shop_detail.php会员视图 menu/create.php菜单视图 menu/index.php菜单视图 menu/update.php菜单视图 menu/_form.php菜单视图 menuStep/create.php菜谱视图 menuStep/index.php菜谱视图 menuStep/update.php菜谱视图 menuStep/_form.php菜谱视图 message/create.php消息视图 message/index.php消息视图 message/update.php消息视图 message/view.php消息视图 message/_form.php消息视图 pinjia/list.php评价视图 pushMessage/flowList.php推送视图 pushMessage/info.php推送视图 pushMessage/list.php推送视图 qA/info.phpqa视图 qA/list.phpqa视图 recommend/info.php推荐视图 recommend/list.php推荐视图 recommend/sublist.php推荐视图 relation/index.php关系视图 relation/update.php关系视图 relation/_form.php关系视图 siteconfig/config.php站点配置视图 siteconfig/dd.php站点配置视图 siteconfig/ddinfo.php站点配置视图 siteconfig/dditem.php站点配置视图 siteconfig/dditeminfo.php站点配置视图 sysLdItem/create.php联动数据视图 sysLdItem/index.php联动数据视图 sysLdItem/update.php联动数据视图 sysLdItem/_form.php联动数据视图 sysMenu/create.php管理菜单视图 sysMenu/index.php管理菜单视图 sysMenu/update.php管理菜单视图 sysMenu/_form.php管理菜单视图 userinfo/index.php用户详细信息视图 userinfo/update.php用户详细信息视图 userinfo/_form.php用户详细信息视图 vegetable/create.php菜品视图 vegetable/index.php菜品视图 vegetable/update.php菜品视图 vegetable/_form.php菜品视图 weibo/account.php微博视图 weibo/addweibo.php微博视图 weibo/list.php微博视图api/ api对接目录 java/java服务目录 hosts/JavaBridge.jardubbo调用程序 hosts/JavaBridge.logdubbo调用运行日志 hosts/start.bat执行脚本 hosts/startmin.bat执行脚本 hosts/startmin.sh执行脚本 Java.incphp的java扩展 services/sample-service-config.xmldubbo配置文件 java.phpjava扩展类 config.phpapi配置 mformat.php会员格式化信息 weibo.php微博接口website/手机客户端调用模块 index.php入口文件 protected/应用目录 components/后台通用辅助目录 Controller.php控制器初始化类 Creaimg.php创建图片扩展 DeviceData.php服务数据扩展类 config/配置目录 main.php配置文件 params.php配置文件 controllers/控制器目录 CacheController.php数据控制器(参考手机接口文档) IDataMgmtController.php数据控制器(参考手机接口文档) IGreenMgmtController.php数据控制器(参考手机接口文档) IInterfaceMgmtController.php数据控制器(参考手机接口文档) IInvokeController.php数据控制器(参考手机接口文档) IMsgMgmtController.php数据控制器(参考手机接口文档) IndexController.php数据控制器(参考手机接口文档) IQAMgmtController.php数据控制器(参考手机接口文档) IReviewMgmtController.php数据控制器(参考手机接口文档) ISharingMgmtController.php数据控制器(参考手机接口文档) IUserMgmtController.php数据控制器(参考手机接口文档)framework/ 系统底层框架文件目录系统底层框架核心类库目录结构一 目录文件 |-framework 框架核心库 |-base 底层类库文件夹,包 含CApplication(应用类,负责全局的用户请求处理,它管理的应用组件集,将提供特定功能给整个应用程序),CComponent(组件类,该 文件包含了基于组件和事件驱动编程的基础类,从版本1.1.0开始,一个行为的属性(或者它的公共成员变量或它通过getter和/或setter方 法?定义的属性)可以通过组件的访问来调用),CBehavior(行为类,主要负责声明事件和相应事件处理程序的方法、将对象的行为附加到组件等 等),CModel(模型类,为所有的数据模型提供的基类),CModule(是模块和应用程序的基类,主要负责应用组件和子模块)等等 |-caching 所有缓存方法,其中包含了Memcache缓存,APC缓存,数据缓存,CDummyCache虚拟缓存,CEAcceleratorCache缓存等等各种缓存方法 |-cli 项目生成脚本 |-collections 用php语言构造传统OO语言的数据存储单元。如:队列,栈,哈希表等等 |-console 控制台 |-db 数据库操作类 |-gii 代码生成器(脚手架),能生成包括模型,控制器,视图等代码 |-i18n 多语言,提供了各种语言的本地化数据,信息、文件的翻译服务、本地化日期和时间格式,数字等 |-logging 日志组件,提供了灵活和可扩展的日志记录功能。消息记录可分为根据日志级别和信息类别。应用层次和类别过滤器,可进一步选择的消息路由到不同的目的 地,例如文件,电子邮件,浏览器窗口,等等|-messages 提示信息的多语言 |-test 提供的测试,包括单元测试和功能测试 |-utils 提供了常用的格式化方法 |-validators 提供了各种验证方法 |-vendors 这个文件夹包括第三方由框架使用的资料库 |-views 提供了错误、日志、配置文件的多语言视图 |-web 所有开发应用的方法 |-actions 控制器操作类 |-auth 权限认识类,包括身份认证,访问控制过滤,基本角色的访问控制等 |-filters 过滤器,可被配置在控制器动作执行之前或之后执行。例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证;性能过滤器可用于测量控制器执行所用的时间 |-form 表单生成方法 |-helpers 视图助手,包含GOOGLE AJAX API,创建HTML,JSON,JAVASCRIPT相关功能 |-js JS库 |-renderers 视图渲染组件 |-services 封装SoapServer并提供了一个基于WSDL的Web服务 |-widgets 部件 |-CArrayDataProvider.php 可以配置的排序和分页属性自定义排序和分页的行为 |-CActiveDataProvider.php ActiveRecord方法类 |-CController.php 控制器方法,主要负责协调模型和视图之间的交互 |-CPagination.php 分页类 |-CUploadedFile.php 上传文件类 |-CUrlManager.php URL管理 |-CWebModule.php 应用模块管理,应用程序模块可被视为一个独立的子应用 |-.htaccess 重定向文件 系统架构: 模型-视图-控制器 (MVC)系统使用了 Web 开发中广泛采用的模型-视图-控制器(MVC)设计模式。 MVC的目标是将业务逻辑从用户界面的考虑中分离,这样开发者就可以更容易地改变每一部分而不会影响其他。 在 MVC中,模型代表信息(数据)和业务规则;视图包含了用户界面元素,例如文本,表单等; 控制器则管理模型和视图中的通信。除了 MVC, 系统还引入了一个前端控制器,叫做 应用,它表示请求处理的执行上下文。 应用处理用户的请求并将其分派到一个合适的控制器以继续处理。系统应用的静态结构图示系统应用在处理工作流系统应用运行步骤1. 用户发出了访问 URL /index.php?r=post/show&id=1 的请求, Web 服务器通过执行入口脚本 index.php 处理此请求。2. 入口脚本创建了一个 应用 实例并执行。3. 应用从一个叫做 request 的 应用组件 中获得了用户请求的详细信息。4. 应用在一个名叫 urlManager 的应用组件的帮助下,决定请求的 控制器 和 动作 。在这个例子中,控制器是post,它代表 PostController 类; 动作是 show ,其实际含义由控制器决定。5. 应用创建了一个所请求控制器的实例以进一步处理用户请求。控制器决定了动作 show 指向控制器类中的一个名为 actionShow 的方法。然后它创建并持行了与动作关联的过滤器(例如访问控制,基准测试)。 如果过滤器允许,动作将被执行。6. 动作从数据库中读取一个 ID 为 1 的 Post 模型。7. 动作通过 Post 模型渲染一个名为 show 的 视图。8. 视图读取并显示 Post 模型的属性。9. 视图执行一些 小物件。10. 视图的渲染结果被插入一个 布局。11. 动作完成视图渲染并将其呈现给用户。系统应用运行程序解析application构造函数: 1 设置当前运行实例 2 获取配置参数 3 设置basepath 4 设置几个path;application,webroot ,ext 5 preinit 6 注册error、exception处理函数 initSystemHandlers 7 加载核心组件 registerCoreComponents 包括webapplication的和application的 8 设置配置文件 configure($config) 9 附加行为 $this-attachBehaviors($this-behaviors); 10处理加载config中的preload,/通过getComponent分别加载并初始化 $this-preloadComponents(); 11 初始化init(); /加载CHttpRequest组件 run: 1 处理onBeginRequest 2 processRequest();真正处理请求 3 处理onEndRequest webapplication-processRequest(): 1 如果配置文件设置了catchAllRequest , / catchAllRequest=array(site/error,p1=1,p2=2), 则所有请求都跳转到这个controller/action这个route,并且设置$_GET参数。 2 分析url得到route,便于后面的控制器/动作创建 3 执行runController runController: 1 创建controller, createController(),创建失败,则抛出404错误 2 得到controller对象和actionID 3 控制器初始化 $controller-init(); 4 最后执行 $controller-run($actionID);/真正执行页面请求 控制器类 CController:默认控制器在CWebApplication:defaultController定义(site),可以在配置文件修改 run(): 1 /根据actionID创建action对象,这里生成的action对象分为定义在controller内联动作和自定义action,比如CViewAction $action=$this-createAction($actionID),如果创建动作失败,missingAction抛出404错误 2 beforeControllerAction(beforeControllerAction定义在CWebApplication,有时也在module里面)为真,才执行runActionWithFilters; 3 afterControllerAction runActionWithFilters($action,$this-filters(): 1 /如果过滤器为空,直接运行runAction() 2 执行过滤器链 runAction(): 1 beforeAction()返回真,才执行 2 执行$action-runWithParams();注意:这里存在多态,每个action都可以实现这个方法, 因为CInlineAction自己实现了runWithParams() 3 第2步骤为真,才执行afterAction($action); 动作类 默认动作在CController:$defaultAction定义(index),可以在CController的继承类重新定义 runWithParams(): 1 分为2种情况,1种是内联动作,1种是通过控制器的actions方法定义的外联动作。 2 内联动作 通过action+动作id作为动作处理函数 3 外联动作 通过调用run()函数来实现 4 如果动作方法参数个数大于0,执行runWithParamsInternal,否则直接执行动作方法。 runWithParamsInternal(); 1 根据反射的方法对象得到方法的形参列表,从 控制器对象-getActionParams()得到实参, 如果实参有形参要求的参数,取其值,不然取形参默认值,否则,出错。 2 调用动作方法 2种形式 1是action+动作id ,2是Caction的派生类(比如cviewaction)的run() 3 执行控制器的CController-render方法;$controller-render($view) 控制器类 CController: render(); 1 renderPartial();得到视图,/先得到contact页面的view文件内容,注意是用include的形式,所以其中的$this是指siteControlerd对象, 这里调用了renderFile(); 2 然后$output=$this-renderFile($layoutFile,array(content=$output),true) 把view中的内容插入到布局页面layouts的column1.php, content和layout的页面的$content变量相关 renderFile(); 1 如果程序没有定义viewrender,则执行controller-renderInternal();否则,执行$renderer=Yii:app()-getViewRenderer()-renderF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火车站候车厅保洁合同
- 2025年焊工(初级)考试1000题及答案
- 印刷物流配送流程细则
- 工程施工验收规定
- 天然气企业社会责任方案
- 健康养殖业绿色生产制度
- 有效解决小区内的噪音管理问题
- 农业生产中的综合经济效益评价方法研究
- 如何引导初高中学生正确面对技术发展
- 2025云南省红河州屏边县人民法院招聘聘用制书记员和司法警务辅助人员(2人)笔试含答案
- 单孔腹腔镜课程讲义课件
- 优秀初中语文说课课件
- 人教精通版六年级上英语Lesson15教学课件
- 人工血管动静脉内瘘术后护理课件
- 普通逻辑ppt课件(完整版)
- GB∕T 16762-2020 一般用途钢丝绳吊索特性和技术条件
- 《小学语文课程与教学论》复习题
- DB32∕T 4065-2021 建筑幕墙工程技术标准
- 施工现场环保工作措施
- 资产清查服务方案模版
- 检具设计PPT.
评论
0/150
提交评论