Во воремя прочтения поста на хабре http://habrahabr.ru/post/149086/ мне пришла мысль в голову о том, что бы методы классов были чистыми и детерминированными, и не зависели от внешних входных данных. Может быть производительность еще повысилась бы...? Кто что думает по этому поводу? Или Yii уже максимально чист?
Извините за бредовый вопрос, но я не смог удержаться...
Чистота функций важна по многим причинам, но в первую очередь, потому что она позволяет нам легче рассуждать о поведении функции. Если функция чистая и не имеет побочных эффектов, то мы можем с большей уверенностью рассуждать о производительности этой функции, поскольку нам нужно будет рассматривать меньше переменных.
В нем есть необязательные аргументы $condition, $params. Но ведь эта функция судя по названию предназначена чисто для поиска записи по первичному ключу.. Не на 100% конкретная функция..
п.с. смутные мысли терзают меня, мб истина где-то рядом...
Sam Dark писал(а):Ради гибкости и лаконичности. Как бы вы искали, например, отмеченную флажком запись по PK? Да и так как вы понимаете сходу метод тоже работает.
Нашел запись по ПК и проверил, есть ли на ней флажок или нет (уже вне БД).
Так ведь второй и третий параметр заданы по умолчанию пустыми. Не читаем API, думаем, что нужен только первичный ключ, пользуемся так, как если бы функция была реализована согласно внесенному предложению. А тем, кто читает документацию, полагаются бонусы в виде дополнительных возможностей.
Сразу двух зайцев: простота для ленивых, возможности для тех, кому они нужны. А производительности, допустим, в данном примере не добавилось бы.
я вот новичек в Yii, стаж 4 месяца, проектами не хвастаюсь ибо нечем, просто совершенствую рабочие CRM и тем самым упрощаю себе жизнь, читаю всё что можно, но без фанатизма, если мне вопрос непонятен по причине - не сталкивался вживую - бегло просматриваю, пытаюсь за инфу зацепиться, чтобы в будущем если возникнет необходимость я знал, что где-то инфу видел. Насчет мануалов всяких - сырость конечно присутствует, из форума черпнул куда больше, но без статических страниц всё же никак, книги - минус, что обе на инглише (одна Макарова, вторая Jeffrey Winesett имеется ввиду) - читабельно, однако с первой попытки как-то не пошло, скоро буду делать еще заход - второй раз садиться читать, потому что уже есть минимальный опыт и багаж знаний, так что недостаток английского будет компенсирован интуитивным пониманием.
Новичку, как мне кажется вопросы оптимизации и произодительности фреймворка - это как интегралы в младших классах, когда ты с ними еще долго не столкнёшься, но слово-то крутое и его нужно обязательно куда-то вставить. Где-то на форуме были советы новичкам и от них сам не отступаю и другим советую - практика, практика и еще раз практика, на одном проекте понять всю прелесть Yii врятли получится и ИМХО нужно доверять разработчикам фреймворка хотя бы потому, что у них опыта куда побольше и создавая фреймворк они руководствовались не созданием крутой фишки и привлечением аудитории, а решением определённых задач, а аудитория судя по всему сама набирается и причем довольно неплохо.
итого:
русской документации новичку не хватает, однако никто и не предлагает её улучшить, так что тут уж имеем, что имеем
сообщество - не зенд конечно, симфони - не берусь сравнивать. Есть вопросы которые решаются быстро (для новичков думаю на 90% точно) так что вцелом - норма, кто не согласен - попробуйте Ruby on Rails - там дела куда хуже
и на затравку - "Терпенье и труд - всё перетрут"