【发布时间】:2012-12-12 16:33:24
【问题描述】:
我正在修改依赖于 CActiveRecord 的现有功能代码。我现在连接到 sybase,它没有模式驱动程序,所以我用 CModel 而不是 CActiveRecord 重写。我的问题可能是我不理解这个通用的 OOP 概念?
原文:MyModelController.php
MyModel::model()->scenario='case1';
引用::model() 不再有效...因为我相信此方法仅在基类为 CActiveRecord 时有效。
/**
* Returns the static model of the specified AR class.
* @param string $className active record class name.
* @return ClientProg the static model class
*/
public static function model($className=__CLASS__)
{
return parent::model($className);
}
既然 MyModel 基于 CModel,我该如何设置它的场景属性,就像我在基类是 CActiveRecord 时所做的那样?
【问题讨论】:
-
我迷失在静态模型上,你用静态模型做什么?
-
静态方法和属性 示例:$something=MyModel::staticMethod($args)。没有实例化对象,您可以在任何地方使用该方法。我想我缺少的是 __get, __set 的静态属性?
标签: php static yii yii-cmodel