文档详情

YII框架简介PPT课件

石磨
实名认证
店铺
PPT
2.23MB
约23页
文档ID:193814866
YII框架简介PPT课件_第1页
1/23

YII框架简介,Yii框架简介,YII框架简介,2,主要内容,Yii框架的起源 一个浏览器请求的处理过程 组件 过滤器 模型层 视图层 命令行程序,YII框架简介,3,Yii框架的起源,美籍华人“qiang”于2008年1月开始开发YII框架(他原来是Prado框架的核心开发成员之一,维护该框架超过3年),YII框架的设计思想主要来源于( Prado , Ruby on Rails , jQuery , Symfony , Joomla ),Yii 是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展(extensible)YII框架简介,4,支持的特性,YII框架简介,5,性能,YII框架简介,6,处理流程,YII框架简介,7,创建一个helloworld,1、下载代码() 2、使用命令行工具创建项目 3、 创建控制类与action,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,YII框架简介,8,控制类与Action,FE同学可能对服务器端的技术与运行模式不太了解,其实一个网站是由若干个控制类组成(这次项目使用17个控制类),每个控制类又有若干个action成员函数,用户的一个请求(不管是get/post/ajax)都是有一个action成员函数来处理,生成浏览器需要的html/json等,每个控制类有一个ControllerId:site,my,XX 每个Action有一个ActionId:index,login,collectdesc,YII框架简介,9,url路由组件,1、通过用户输入的url找到处理这个请求的ControllerId和ActionId 2、解析出获得url中的get产生,YII框架简介,YII框架简介,11,组件池,URL http:/* 浏览器请求,路由组件 UrlManager,App类,日志组件,Db组件,Cache组件,权限组件,XX组件,1、创建WebApplication 2、通过“路由组件”获得ControllerId和ActionId 3、创建“控制器” 4、运作Action方法,YII框架简介,12,日志路由组件,1、记录一条日志,需要设置这2个维度的参数 Yii:log(悲剧,用户中心 挂了啊, CLogger:LEVEL_ERROR, extensions.uc);,2、通过“日志路由组件”可以过滤出某些错误级别、某些类别的日志,见log的routes配置,YII框架简介,13,日志路由组件工作原理观察者模式,YII框架简介,14,其它常用组件,Cache组件缓存作用 Db组件数据库查询 Auth认证组件基于角色的权限验证,组件特点,1、按需创建:如果一个组件在本次用户请求中没有被使用,它根本不被创建。

2、单件模式:如果一个组件在多个地方使用,那么只有第一次使用的时候需要创建,以后每次使用,都是使用同一个组件对象,3、配置简单:通过修改app应用的components配置项可以很方便的对组件进行添加、删除和修改,YII框架简介,15,过滤器与Action,1、过滤器是控制器的一个成员函数,以filter打头,比如function filterSpend( ),那么这个过滤器的名字就是spend,2、可被配置在控制器动作执行之前或之后执行,3、一个过滤器作用于多个Action,一个Action可以配置多个过滤器,配置很方便,YII框架简介,16,过滤器工作模型,actionCache,filterSpend,filterAjax,过滤器用途,1、统计:统计各个action每天被访问的次数,统计部分action的耗时,2、访问控制:指定某些action的必须是Ajax访问,指定某些action访问需要的权限或者角色,如上是本次项目的权限控制配置,YII框架简介,17,模型层ORM,使用脚本创建模型层代码 cd E:codeYiitrunkhelloworldprotected yiic.bat shell E:codeYiitrunkhelloworldindex.php model *,ORM使用的是ActiveRecord技术 即一张表对应一个对象,基本不需要些sql 表之间的关联(1:1,1:n,n:1,n:m)通过relation来申明,YII框架简介,18,视图层,视图层就是生成浏览器需要的html代码(中间可能包含js和css),Yii的将试图的生成分成3步,比如:,目前使用模板引擎smarty,对于公共的页面片断使用include语法,YII框架简介,19,小物件,在windows(MFC,Delphi,游戏)开发过程中,有很多小控件(下拉菜单/按钮/日历/人物)可以使用,不需要从头开发。

小物件( Cwidget) 的设计思想与其类似,它将页面看成是有多个可以复用的控件组成,从而提高了页面控件的复用性和可维护性小物件的用法:widget(path.to.WidgetClass); ?,它会生成对应的html代码和需要的css以及jsYii自带了20个左右的常用widget,开源社区目前也贡献了100多个widget 小物件可以配置多套皮肤(国庆用红色的,清明用灰色的),YII框架简介,20,代价:a)需要Fe会php,基本的php语法、类的使用 b)需要rd会一些简单的js和html,客户端脚本管理组件(Yii:app()-clientScript)的功能: 1 ) 将js,css插入到固定的位置(HEAD/BEGIN/END/LOAD/READY) 2 ) 修改这个组件的配置,可以对js/css应用的路径进行替换或者合并,对外部透明,比如开发的使用使用home_dev.js,真正上线的时候使用home.js 3) 修改这个组件的配置,可以对js/css进行合并和进行版本控制,YII框架简介,21,命令行,创建一个TotalCommand继承自CConsoleCommand 配置console.php中需要使用的组件,命令行程序创建的“app应用”是CConsoleApplication,web访问创建的应用时CWebApplication,其实“应用”时一个模板的概念,一个模板有一个组件池,可以配置这个模板需要的组件,cd E:codeYiitrunkhelloworldprotected yiic.bat 哈哈,所有的命令都有,系统的也有,系统其实也是写了一个XXCommand yiic.bat total user yiic.bat total post yiic.bat total comment,YII框架简介,22,Yii作者推荐书籍(),大概整理了一下,下载地址为:,YII框架简介,23,谢谢大家!,。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档