《YII框架简介》PPT课件.ppt_第1页
《YII框架简介》PPT课件.ppt_第2页
《YII框架简介》PPT课件.ppt_第3页
《YII框架简介》PPT课件.ppt_第4页
《YII框架简介》PPT课件.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要内容 Yii框架的起源 一个浏览器请求的处理过程 组件 过滤器 模型层 视图层 命令行程序 2 Yii框架的起源 美籍华人“qiang”于2008年1月开始开发YII 框架(他原来是Prado框架的核心开发成员 之一,维护该框架超过3年),YII框架的设 计思想主要来源于( Prado , Ruby on Rails , jQuery , Symfony , Joomla ) /about/ Yii 是一个基于组件、用于开发大型 Web 应用 的高性能 PHP 框架。它将 Web 编程中的可重 用性发挥到极致,能够显著加速开发进程。Yii (读作“易”)代表简单(easy)、高效(efficient) 、可扩展(extensible)。 3 支持的特性 / 4 性能 /performance/ 5 处 理 流 程 http:/www.yiiframewo /doc/guide/1.1/z h_cn/basics.mvc#sec-2 6 创建一个helloworld 1、下载代码(/download/) 2、使用命令行工具创建项目 3、 创建控制类与action /doc/guide/1.1/zh_cn/quickstart.first-app-yiic 7 yiic.bat help webapp yiic.bat webapp E:codeYiitrunkhelloword yiic.bat shell E:codeYiitrunkhelloworldindex.php help controller post log cache db update detail add list FE同学可能对服务器端的技术与运行模式不太了解,其 实一个网站是由若干个控制类组成(这次项目使用17个控制类 ),每个控制类又有若干个action成员函数,用户的一 个请求(不管是get/post/ajax)都是有一个action成员函 数来处理,生成浏览器需要的html/json等 每个控制类有一个ControllerId:site,my,XX 每个Action有一个ActionId:index,login,collectdesc 8 url路由组件 1、通过用户输入的url找到处理这个请求的ControllerId和ActionId 2、解析出获得url中的get产生 /doc/api/1.1/CUrlMana ger 9 URL http:/* 浏览器请求 路由组件 UrlManager App类 PostController actionLog actionDetail PostController actionLog actionDetail 日志组件 Db组件Cache组件 XXController actionYY actionZZ 权限组件XX组件 1、创建WebApplication 2、通过“路由组件”获得ControllerId和ActionId 3、创建“控制器” 4、运作Action方法 11 日志路由组件 错误级别 日志类别 Error 错误级别 Warning 警告级别 Info 基本操作 Trace 调试级别 application extensions.uc extensions.beidou 1、记录一条日志,需要设置这2个维度的参数 Yii:log(悲剧,用户中心 挂了啊, CLogger:LEVEL_ERROR, extensions.uc); 2、通过“日志路由组件”可以过滤出某些错误级别、 某些类别的日志,见log的routes配置 12 日志路由组件工作原理观察者模式 13 其它常用组件 Cache组件缓存作用 Db组件数据库查询 Auth认证组件基于角色的权限验证 组件特点 1、按需创建:如果一个组件在本次用户请求中没有被使用,它根 本不被创建。 2、单件模式:如果一个组件在多个地方使用,那么只有第一次使 用的时候需要创建,以后每次使用,都是使用同一个组件对象 3、配置简单:通过修改app应用的components配置项可以很方 便的对组件进行添加、删除和修改 14 1、过滤器是控制器的一个成员函数,以filter打头,比如function filterSpend( ),那么这个过滤器的名字就是spend 2、可被配置在控制器动作执行之前或之后执行 3、一个过滤器作用于多个Action,一个Action可以配置多个过滤器,配置 很方便 15 过滤器工作模型 actionCache filterSpendfilterAjax 过滤器用途 1、统计:统计各个action每天被访问的次数,统计部分action的耗时 2、访问控制:指定某些action的必须是Ajax访问,指定某些action访问需要 的权限或者角色,如上是本次项目的权限控制配置 16 模型层ORM 使用脚本创建模型层代码 cd E:codeYiitrunkhelloworldprotected yiic.bat shell E:codeYiitrunkhelloworldindex.php model * 17 ORM使用的是ActiveRecord技术 即一张表对应一个对象,基本不需要些sql /helloworld/index.php/post/add 表之间的关联(1:1,1:n,n:1,n:m)通过relation来申明 /helloworld/index.php/post/list 视图层 视图层就是生成浏览器需要的html代码(中间可能包含js和css) Yii的将试图的生成分成3步,比如: /demos/blog/ 目前使用模板引擎smarty,对于公共的页面片断使用include语法 18 小物件 在windows(MFC,Delphi,游戏)开发过程中,有很多小控件(下拉菜单/ 按钮/日历/人物)可以使用,不需要从头开发。 一个key=value的数字 Array( date=2010-11-2, weather=多云 city=北京 skin=red/grey ) 日历widget 日历控件的html: XXXX 需要a.js,b.js 需要a.css,b.css 输入 输 出 19 小物件( Cwidget) 的设计思想与其类似,它将页面看成是有多个可以 复用的控件组成,从而提高了页面控件的复用性和可维护性。 小物件的用法:widget(path.to.WidgetClass); ?,它会 生成对应的html代码和需要的css以及js。Yii自带了20个左右的常用 widget,开源社区目前也贡献了100多个widget。 小物件可以配置多套皮肤(国庆用红色的,清明用灰色的) 代价:a)需要Fe会php,基本的php语法、类的使用 b)需要rd会一些简单的js和html 20 命令行 创建一个TotalCommand继承自CConsoleCommand 配置console.php中需要使用的组件 命令行程序创建的“app应用”是CConsoleApplication,web 访问创建的应用时CWebApplication,其实“应用”时一个模 板的概念,一个模板有一个组件池,可以配置这个模板需 要的组件 21 cd E:codeYiitrunkhelloworldprotected yiic.bat 哈哈,所有的命令都有,系统的也有,系统其实也是写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论