CFormElement
优质
小牛编辑
131浏览
2023-12-01
所有包 | 属性 | 方法
CFormElement 是各种表单元素的基类。
CFormElement 实现了获取和设置任意的属性的方法。
public void setVisible(boolean $value)
源码: framework/web/form/CFormElement.php#47 (显示)
源码: framework/web/form/CFormElement.php#78 (显示)
源码: framework/web/form/CFormElement.php#102 (显示)
源码: framework/web/form/CFormElement.php#60 (显示)
源码: framework/web/form/CFormElement.php#118 (显示)
源码: framework/web/form/CFormElement.php#164 (显示)
源码: framework/web/form/CFormElement.php#153 (显示)
源码: framework/web/form/CFormElement.php#134 (显示)
源码: framework/web/form/CFormElement.php#39 (显示)
源码: framework/web/form/CFormElement.php#144 (显示)
包 | system.web.form |
---|---|
继承 | abstract class CFormElement » CComponent |
子类 | CForm, CFormButtonElement, CFormInputElement, CFormStringElement |
源自 | 1.1 |
版本 | $Id: CFormElement.php 3426 2011-10-25 00:01:09Z alexander.makarow $ |
源码 | framework/web/form/CFormElement.php |
CFormElement 实现了获取和设置任意的属性的方法。
公共属性
隐藏继承属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
attributes | array | 通过这个对象来表现HTML元素的属性列表(name=>value)。 | CFormElement |
parent | mixed | 这个元素的真系父类。它可能是CForm对象,也可能是CBaseController对象。 (控制器或挂件)。 | CFormElement |
visible | boolean | 返回值说明这个元素是否可见并需要渲染。 | CFormElement |
公共方法
隐藏继承方法
方法 | 描述 | 定义在 |
---|---|---|
__call() | 如果类中没有调的方法名,则调用这个方法。 | CComponent |
__construct() | 构造器。 | CFormElement |
__get() | 返回属性值。 | CFormElement |
__isset() | 检查一个属性是否为null。 | CComponent |
__set() | 设置属性值。 | CFormElement |
__toString() | 将对象转换为字符串。 | CFormElement |
__unset() | 设置一个组件的属性为null。 | CComponent |
asa() | 返回这个名字的行为对象。 | CComponent |
attachBehavior() | 附加一个行为到组件。 | CComponent |
attachBehaviors() | 附加一个行为列表到组件。 | CComponent |
attachEventHandler() | 为事件附加一个事件处理程序。 | CComponent |
canGetProperty() | 确定属性是否可读。 | CComponent |
canSetProperty() | 确定属性是否可写。 | CComponent |
configure() | 根据初始化的值来配置这个对象。 | CFormElement |
detachBehavior() | 从组件中分离一个行为。 | CComponent |
detachBehaviors() | 从组件中分离所有行为。 | CComponent |
detachEventHandler() | 分离一个存在的事件处理程序。 | CComponent |
disableBehavior() | 禁用一个附加行为。 | CComponent |
disableBehaviors() | 禁用组件附加的所有行为。 | CComponent |
enableBehavior() | 启用一个附加行为。 | CComponent |
enableBehaviors() | 启用组件附加的所有行为。 | CComponent |
evaluateExpression() | 计算一个PHP表达式,或根据组件上下文执行回调。 | CComponent |
getEventHandlers() | 返回一个事件的附加处理程序列表。 | CComponent |
getParent() | 返回这个元素的真系父类。它可能是CForm对象,也可能是CBaseController对象。 (控制器或挂件)。 | CFormElement |
getVisible() | 返回值说明这个元素是否可见并需要渲染。 | CFormElement |
hasEvent() | 确定一个事件是否定义。 | CComponent |
hasEventHandler() | 检查事件是否有附加的处理程序。 | CComponent |
hasProperty() | 确定属性是否被定义。 | CComponent |
raiseEvent() | 发起一个事件。 | CComponent |
render() | 渲染这个元素。 | CFormElement |
setVisible() | 设置这个元素是否可见并需要渲染。 | CFormElement |
受保护方法
隐藏继承方法
方法 | 描述 | 定义在 |
---|---|---|
evaluateVisible() | 评估这个元素是否可见。 | CFormElement |
属性详细
attributes 属性 public array $attributes;通过这个对象来表现HTML元素的属性列表(name=>value)。
parent 属性 只读 public mixed getParent()这个元素的真系父类。它可能是CForm对象,也可能是CBaseController对象。 (控制器或挂件)。
visible 属性 public boolean getVisible()public void setVisible(boolean $value)
返回值说明这个元素是否可见并需要渲染。 这个方法将调用evaluateVisible来确定这个元素是否可见。
方法详细
__construct() 方法public void __construct(mixed $config, mixed $parent) | ||
$config | mixed | 这个元素的配置。 |
$parent | mixed | 这个元素的真系父类。 |
publicfunction__construct($config,$parent)
{
$this->configure($config);
$this->_parent=$parent;
}
构造器。
参见
- configure
public mixed __get(string $name) | ||
$name | string | 属性名 |
{return} | mixed | 属性值 |
publicfunction__get($name)
{
$getter='get'.$name;
if(method_exists($this,$getter))
return$this->$getter();
elseif(isset($this->attributes[$name]))
return$this->attributes[$name];
else
thrownewCException(Yii::t('yii','Property"{class}.{property}"isnotdefined.',
array('{class}'=>get_class($this),'{property}'=>$name)));
}
返回属性值。 不要调用这个方法。这是一个被我们覆盖了的PHP的魔术方法, 它允许如下语法来读取属性值:
$value=$element->propertyName; $value=$element->attributeName;
参见
- __set
public void __set(string $name, mixed $value) | ||
$name | string | 属性名 |
$value | mixed | 属性值 |
publicfunction__set($name,$value)
{
$setter='set'.$name;
if(method_exists($this,$setter))
$this->$setter($value);
else
$this->attributes[$name]=$value;
}
设置属性值。 不要调用这个方法。这是一个被我们覆盖的PHP的魔术方法, 允许用如下语法设置一个属性的值。
$this->propertyName=$value; $this->attributeName=$value;
参见
- __get
public string __toString() | ||
{return} | string | 代表这个实体的字符串。 |
publicfunction__toString()
{
return$this->render();
}
将对象转换为字符串。 这是一个PHP的魔术方法。 默认实现是调用render 返回渲染结果。
configure() 方法public void configure(mixed $config) | ||
$config | mixed | 这个对象的配置。 它可以是表示属性名和它们的初始化值的数组。 它也可以是能够返回一个配置数组的文件名It 或PHP脚本。 |
publicfunctionconfigure($config)
{
if(is_string($config))
$config=require(Yii::getPathOfAlias($config).'.php');
if(is_array($config))
{
foreach($configas$name=>$value)
$this->$name=$value;
}
}
根据初始化的值来配置这个对象。
evaluateVisible() 方法protected boolean evaluateVisible() | ||
{return} | boolean | 这个元素是否可见。默认为true。 |
protectedfunctionevaluateVisible()
{
returntrue;
}
评估这个元素是否可见。 子类应该覆盖这个方法来实现真实的算法 来确定元素的可见性。
getParent() 方法public mixed getParent() | ||
{return} | mixed | 这个元素的真系父类。它可能是CForm对象,也可能是CBaseController对象。 (控制器或挂件)。 |
publicfunctiongetParent()
{
return$this->_parent;
}
getVisible() 方法public boolean getVisible() | ||
{return} | boolean | 这个元素是否可见并需要渲染。 |
publicfunctiongetVisible()
{
if($this->_visible===null)
$this->_visible=$this->evaluateVisible();
return$this->_visible;
}
返回值说明这个元素是否可见并需要渲染。 这个方法将调用evaluateVisible来确定这个元素是否可见。
render() 方法abstract public string render() | ||
{return} | string | 渲染结果 |
abstractfunctionrender();
渲染这个元素。
setVisible() 方法public void setVisible(boolean $value) | ||
$value | boolean | 这个元素是否可见并需要渲染。 |
publicfunctionsetVisible($value)
{
$this->_visible=$value;
}