Symfony: вопрос о методах get и set классов базовой модели - PullRequest
0 голосов
/ 01 июля 2010

если вы перейдете к базовому классу модели, вы не найдете никакого метода get или set.

Это потому, что эти методы созданы "в эфире".

Что это означает точно, я подозреваю, что это просто означает, что они созданы в тот момент, когда они необходимы.

Я прав? Каковы преимущества способа генерации методов внутри базового класса?

Привет

1011 * Javi *

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Doctrine использует PHP магические методы для реализации, среди прочего, методов get*() и set*(), поэтому он проверит, чтобы убедиться, что столбец существует, и, если так, получит или установитзначение соответственно.

Кроме того, Doctrine также проверит, реализовали ли вы свои собственные методы get / set, например, getSurname(), и используйте это в предпочтении, просто устанавливая значение столбца напрямую.

0 голосов
/ 01 июля 2010

richsage правильно, что методы getXXX и setXXX выполняются с помощью PHP-метода "magic" __call, но это не Doctrine, создающий магию. Это sfDoctrineRecord::__call, который преобразует вызов как $record->getName() в $record->get('name').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...