2015-04-07 4 views
0

Я прихожу в Laravel из Yii и Codeigniter. И не может найти решение, как описать поля классов для модели Eloquent. Я хочу знать, какие переменные доступны для этого класса. Проблема в том, что я определяю переменную public => когда я пытаюсь ее использовать, эта переменная пуста. Если я определяю переменную protected => когда я использую ее, все нормально, но эта переменная недоступна для автоконкурса (потому что этот вар защищен).Как определить поля классов для модели Eloquent

Спасибо!

class User extends Eloquent 
{ 

... 
protected $registered; // works, but not available 
public $registered; // not works, always empty 
var $registered; // not works, always empty 
... 

} 

ответ

3

атрибутов красноречивых работают с внутренним attributes массива и полагаться на магических __get() и __set() методов. Однако эти вызовы никогда не будут вызваны при определении переменных. Что вы можете сделать, чтобы получить автоматическое завершение и документировать атрибуты просто добавить их в DocBlock комментарий:

/** 
* @property bool $registered is the user registered? 
*/ 
class User extends Eloquent 

На самом деле @property аннотаций специально designed for magic properties:

@property показывает «магии ", которая находится внутри класса.

Смежные вопросы