Пример кода модели-синглтона:
class Mymodel extends CModel
{
protected static $_instance=null;
private function __construct() {}
private function __clone() {}
// Обязательно прописать, так как в CModel это абстрактный метод
// Этот метод может быть пустым
public function attributeNames() {
}
public static function getInstance()
{
if (null === self::$_instance) {
self::$_instance = new self();
}
return self::$_instance;
}
}
Обращение к такой модели делается так:
$model = SingletonModel::getInstance();