Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
CActiveRecord::attributeLabels()
/**
* Благодаря этому методу можно не определять его явно в каждой модели-наследнике.
* Спасибо PHP 5.3 с его get_called_class()
*/
public static function model ($className = __CLASS__) {
return parent::model(get_called_class());
}
* @method static {model_name} model() model(string $className = __CLASS__)
model() в PHPDoc получился лишний.$post = ActiveRecord::model('Post')->find();
public static function model ($className = null) {
return parent::model($className ?: get_called_class());
}
getAttributeLabel() и уже там подставляю Yii::t() Предположим, что мы поддались соблазну и в одной миграции создали таблицу и индексы в ней. Тогда при опечатке в функции создания индекса миграция будет прервана выброшенным прерыванием, и повторно запустить миграцию не получится так как таблица уже создана. Тут если есть возможность следует либо использовать механизм транзакций, либо делать множество мелких миграций.
Иногда над моделью производятся мелкие операции над небольшим количеством атрибутов, такие методы можно начинать с префикса make и такие методы могут выполнять сохранение модели внутри себя
public function setStatus(int $status)
function geta(int $a){
return $a;
};
echo geta("test");
PHP Catchable fatal error: Argument 1 passed to geta() must be an instance of int, string given, called in /home/my/in.php on line 7 and defined in /home/my/in.php on line 3
PHP 5.3.10-1ubuntu3.9 with Suhosin-Patch (cli) (built: Dec 12 2013 04:27:25)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
public function getId()
{
return $this->id;
}
лишние вызовы методов
Yii — обмен опытом: модели