码迷,mamicode.com
首页 > 其他好文 > 详细

yii源码一

时间:2014-07-16 16:03:00      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   strong   for   io   

CComponent:

path:framework/base/CComponent.php

overview:This file contains the foundation classes for component-based and event-driven programming.
              (包含基于组件和事件驱动编程的基础类,是所有components的基类)

1.property定义

$a=$component->text;     // equivalent to $a=$component->getText();
$component->text=‘abc‘;  // equivalent to $component->setText(‘abc‘);

2.event事件定义
1)事件句柄function handlerName($event) {}

function eventHandler($event) { ... }

  添加事件句柄到事件:(也可用attachEventHandler)

$component->onClick=$callback;    // or $component->onClick->add($callback);

2)事件:事件名称必须以on开头

3)启用事件raiseEvent()

public function onClick($event){
      $this->raiseEvent(‘onClick‘,$event);
}

 

3.behaviors行为
      行为是附加到组件components上的实例。可以添加(attachBehavior),拆卸(detachBehavior),也可以启用(enableBehavior)、禁用(disableBehavior).

 

 

注意:1.属性名(property)和事件名(event)大小写敏感。

 

源码分析:

 

1.重写:
  重写__get()和__set()两个魔术方法,便于可以直接调用和设置模型的私有属性;

     重写__isset()和__unset()两个魔术方法,便于判断模型的私有属性是否设置和清空属性值;

     重写__call()魔术方法,便于调用不存在的或者私有的类方法。

2.事件的有无判断和启用;

3.行为Behavior的添加、删除、启用、禁用;

4.Evaluates a PHP expression。

 


类:CEvent
overview:CEvent is the base class for all event classes.

 

类:CEnumerable
overview:CEnumerable is the base class for all enumerable types.
用法:

class TextAlign extends CEnumerable{
    const Left=‘Left‘;
    const Right=‘Right‘;
}

调用:TextAlign::Left。

tips:The constant name must be the same as the constant value.

yii源码一,布布扣,bubuko.com

yii源码一

标签:style   blog   color   strong   for   io   

原文地址:http://www.cnblogs.com/thinksasa/p/3848574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!