
yii
文章平均质量分 51
wzllai
这个作者很懒,什么都没留下…
展开
-
YII框架分析笔记4:ar模型和db
YII中实现两种类型的模型,分别是表单模型和活动记录。在持久化数据方面,YII只实现了活动记录,对于复杂的数据关系可以用框架提供的DAO来自己写model,对应集成doctrine这样的ORM还没有仔细研究过。ar模型框架中的model是CModel子类,CModel主要是一些验证与错误处理,并实现迭代器和数组访问接口,活动记录模型CActiveRecord是AR模型的基类。每个AR类原创 2012-06-15 18:12:59 · 5186 阅读 · 0 评论 -
YII框架分析笔记2:组件和事件行为管理
Yii是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。CComponent几乎是所有类的基类,它控制着组件与事件的管理,其方法与属性如下,私有变量$_e数据存放事件(evnet,有些地方叫hook),$_m数组存放行为(behavior)。组件管理YII是一个纯oop框架,很多类中的成员变量的受保护或者私有的,CComponent中利用php中的魔术方法_原创 2012-06-13 13:03:18 · 9439 阅读 · 1 评论 -
YII框架分析笔记10:日志
yii框架中日志组件记录的等级5类,在CLogger已通过常量定义:const LEVEL_TRACE='trace';const LEVEL_WARNING='warning';const LEVEL_ERROR='error';const LEVEL_INFO='info';const LEVEL_PROFILE='profile';CLogger为所有日志写入和获取提原创 2012-06-17 16:56:33 · 3995 阅读 · 0 评论 -
YII框架分析笔记11:模块module
module是对相同业务逻辑的app中的内容模块化,比如博客前台系统可以模块化成blog,博客后台系统可以模块化成admin,模块化便于对应用的管理扩展。加载module的配置//加载框架中自带gii模块和一个自定义admin模块'modules'=>array( // uncomment the following to enable the Gii tool 'gii'=>原创 2012-06-18 20:15:39 · 5545 阅读 · 1 评论 -
YII框架分析笔记12:主题管理
YII主题的控制由CThemeManager和CTheme管理,CThemeManager在应用初始化时作为核心组件注册,主题默认路径是app/themes/。主题配置由于主题组件在应用初始化时注册,其配置以及很方面,比如在app/themes/下有一个custom1主题在主配置文件中加入'theme'=>'custom1'键值对,在主题注册的时候会调用 CWebApplica原创 2012-06-19 14:42:08 · 4457 阅读 · 1 评论 -
YII框架分析笔记13:单元测试
先占个地方,以后补上。原创 2012-06-19 14:59:26 · 2914 阅读 · 3 评论 -
YII框架分析笔记6:视图
YII框架使用的view是在原生的php模板上进行扩展的。CController中对视图的渲染有多种方法:render($view,$data=null,$return=false)//连同layout一起渲染renderPartial($view,$data=null,$return=false,$processOutput=false)//不渲染layoutrenderText($原创 2012-06-16 22:16:26 · 3422 阅读 · 0 评论 -
YII框架分析笔记9:url路由
以创建url路由为例,从CWebApplication执行请求过程说起,如果在配置中设置了catchAllRequest,所有请求将会定位到配置中的路由中,否则的需要CUrlManager的parseUrl()方法解析解析url获取路由。/** * Parses the user request. * @param CHttpRequest $request the request app原创 2012-06-17 14:42:13 · 6685 阅读 · 0 评论 -
YII框架分析笔记8:CDataProvider
CDataProvider,顾名思义,数据提供者,它提供了三个抽象方法(fetchData,、fetchKeys 和 calculateTotalItemCount),分别为调用不同数据结构的数据提供了获取数据、获取键值、获取数量的,接口,在YII框架中,CActiveDataProvider、CArrayDataProvider、CSqlDataProvider是它的子类,除了提供数据之外,他还原创 2012-06-17 13:12:18 · 5524 阅读 · 0 评论 -
YII框架分析笔记7:挂件widget
widget好处是方面重用和灵活移动。CWidget是所有的widge父类,同时它又是是CBaseController的子类,CWidget提供了类似CController中的一些方法,但render()方法渲染的时候不带layout,而且渲染的时候$this指得是CWidget对象,而不是CController对象,CController对象可以通过其中的getController()方法获取,原创 2012-06-17 11:54:54 · 8732 阅读 · 0 评论 -
YII框架分析笔记5:控制器和动作
CBaseController是控制器和挂件的基类,主要提供了视图渲染,挂件,剪辑、片段缓存等方法,CController是所有应用中自定义控制器的基类。创建动作public function run($actionID){ if(($action=$this->createAction($actionID))!==null) { if(($parent=$this->get原创 2012-06-16 16:47:45 · 5970 阅读 · 0 评论 -
YII框架分析笔记3:表单模型和验证
表单模型CFormModel绝大部分继承CModelCModel,由于表模型数据不需要持久化,所以主要在验证操作上。下面以框架脚手架生成的网站登录为例说明表单模型。//模型中的验证规则public function rules(){ return array( array('username, password', 'required'), array('rememberMe',原创 2012-06-14 20:47:41 · 5080 阅读 · 0 评论 -
YII框架分析笔记1:YII执行流程
yii整体执行流程直观,具体由以下步骤:1、程序入口文件index.php加载yii框架引导程序(bootstrap)文件yii.php,加载配置文件以及其他自定义配置。2、yii.php中Yii类继承了YiiBase,主要封装框架的一些通用方法,比如自动加载、创建组件、核心类路径映射、记录日志以及调试等,YiiBase.php中注册自动加载方法。另外Yii类预留可以自定义一些方法作为扩展原创 2012-06-13 11:30:13 · 17388 阅读 · 6 评论