首页 > 其他 > 详细

yii源码一

时间:2014-07-16 16:51:28      阅读:394      评论:0      收藏:0      [点我收藏+]

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源码一

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!