Self:: или имя модели::?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
wokster
Сообщения: 308
Зарегистрирован: 2013.09.06, 14:12
Контактная информация:

Self:: или имя модели::?

Сообщение wokster »

Столкнулся с такой штукой
На локалке работало обращение в модели к самой себе как Self::find() и т.д.
Перенес на хостинг - дает ошибку пришлось заменить на имя модели в моем случае Products::find() и т.д.
Заработало.
С чем это связано и как вообще правильнее обращаться в моделе к самой себе, мне внутрений голос подсказывает, что Products::find() - это не феншуй, но он не аргументирует.
Вопрос из разряда - хотелось бы стать умнее, научите или дайте ссылку где почитать.

ПС: может не стоит с большой буквы писать? self:: , а не Self::
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Self:: или имя модели::?

Сообщение zelenin »

конечно, self (заглядывайте в доки для проверки ваших догадок). Проблема известна и проста - регистронезависимость винды, которая вам позволяет делать такие ошибки.
юзайте static вместо self. (смотрите кодстайл yii2)
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Self:: или имя модели::?

Сообщение Insolita »

локалка у вас на винде надо полагать, винда регистронечувствительная. а сервер на линуксе. Он регистрочувствительный.
Соходите на php.net и выясните что значит self и какие еще в php ключевые слова есть, на всякий случай
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Self:: или имя модели::?

Сообщение slavcodev »

jilizart писал(а):Советую использовать static http://php.net/manual/ru/language.oop5. ... ndings.php
И зря. static != self, стоит понимать разницу и использовать то что нужно.
Жду Yii 3!
arogachev
Сообщения: 52
Зарегистрирован: 2014.09.09, 14:32

Re: Self:: или имя модели::?

Сообщение arogachev »

В документации четко прописано, когда использовать self, а когда static.

https://github.com/yiisoft/yii2/blob/ma ... -vs-static
Мой профиль на Github
Аватара пользователя
Cyril
Сообщения: 11
Зарегистрирован: 2015.02.19, 09:40

Re: Self:: или имя модели::?

Сообщение Cyril »

wokster писал(а):ПС: может не стоит с большой буквы писать? self:: , а не Self::
Может. :)
Ответить