Yii 2, public preview
4 мая 2013
Итак, код Yii2, который мы более двух лет пилили и перепиливали в закрытом режиме, выложен на github. Это большой шаг на пути к стабильному релизу, в подготовке которого вы теперь можете принять самое непосредственное участие.
Стоит сразу отметить, что код в стадии активных изменений и может меняться без предупреждения. Ни в коем случае не используйте его для реальных проектов.
Сейчас нам очень нужны ваши мнения и предложения. Берите код, пробуйте, пишите в трекер, в почту, в блоги и на форумы.
Комментарии RSS по email OK
double encode запилите наконец то или теперь к старой версии php добавились новые отмазки? :)
Большое спасибо!
Предлагаю всем теоретикам по поводу "почему так, а не так" делать пуллы, а не троллить разработчиков свои домыслами и почемучками.
Код стянул c github, уже смотрю что нового несет нам Yii2. Авторам спасибо за проделанный труд ;-)
Друзья, спасибо за проделанную работу! Зы: О боже, опять htmlencode...
А можно ожидаемое время выхода стабильной версии + документации?
Может я плохо смотрел, но... а есть демки, вроде тех, что в поставке Yii 1.1 в папке demos? Просто я думаю, что было бы удобнее понять различия и самому начать ковыряться, если бы можно было увидеть скажем реализацию того же блога
Позволю себе ответить. Демок пока нет, позже будут. В app есть работающее приложение, так же можно создать совсем маленькое приложение при помощи команды php yii2/framework/yiic.php app/create blog. Правда и она не совсем работает, пока :)
Блин.... double encode то вкрутили тока не с тем значением по умолчанию... и толку...
Александр, в самом лучшем случае к концу года, но обещать ничего не могу. Как доделаем. Документация будет появляться по ходу.
Спасибо
2 Dr.Death пожалуйста, не пишите по поводу htmlencode на каждом месте (форум, здесь и хабр). Такие высосанные проблемы из пальца только отвлекают разработчиков и других участников.
Александр вам на форуме подробно все объяснил yiiframework.ru/forum/viewtopic.php?f=6&t=6347
Александр, основные штуки, которые мешали, как раз были версия PHP и обратная совместимость. В Yii2 этих проблем нет, можно подумать ещё раз.
Да походу я ее пожизненно буду ручками править в исходниках :)
Dr.Death, на самом деле Yii2 позволяет перекрыть
Html
через позднее статическое связывание, так что не придётся...Отличные новости!
Sam, ну да я мельком вчера почитал, я так понял в принципе можно любой класс заекстендить и заюзать через свой
Sam, может стоило бы дать ссылку твоей презентации о Yii 2, а то для людей не в теме совсем непонятно, что изменилось, в чем этот релиз лучше, что появилось, что убрали.
Stan, она уже местами неактуальна.
2 Dr.Death вы обычный тролль. Сколько времени нужно ныть здесь, на форуме и на хабре, вместо того, чтобы потратить 30 секунд и расширить CHtml или написать свою функцию.
2 Sam, помимо фреймворка, мне нравится команда разработки Yii:
Так же Yii сейчас явный лидер по скорости / качеству разработки. И прелесть в том, что Yii подходит для любых по сложности сайтов. Кто искал работу в Мск последний год, тот поймет, как много сейчас вакансий с Yii. Больше, чем симфони+зенд.
@#$%^, я итак трачу 10 секунд и правлю под себя CHtml, а не ною, но ты продолжай следить за мной мой верный фанат, и давать мне советы что мне делать, чтобы знать куда тебе пойти.
З.Ы. посмотрел бы как ты его расширишь или напишешь свою функцию, чтобы она вызывалась внутри yii...
Sam, Надеюсь 2 версия даст больше возможностей для исправления всей той кучи нелогичных косяков с минимальными вмешательствами, потому что спорить с вами, на тему что int 0 это не пусто, например, можно бесконечно...
Даст, конечно. Все известные затыки с расширямостью поправлены.
Чтобы понять смысл Yii 1.1 и начать использовать осмысленно лично мне пришлось почти полностью просматривать код фреймворка. Смотрю теперь выпускаете вы новый и опять не понятно с какого места в него вгрызаться. Заново полностью выискивать где какие изменения произошли?... Очень не хотелось бы. По тому предыдущему видео презентации изменений я видел что по сути сделано не очень много. Но сейчас смотрю код Yii2, вижу что код ядра изменился, и не могу понять, на что мне надо обратить внимание, что переделано, а что нет. Читал недавний обзор на хабре (post/178917), опять какие то 5 слов сообщали, в стиле yii гида, а по сути изменения в логике работы ничего не сказали. Вы же сами разрабатывали, почему же не вести какой то cnange.log изменений. Например было раньше Yii::app(), стало Yii::$app. Желательно причина изменения. Но во вссяком случае я увижу на что обратить внимание и выясню подноготную дальше. Импорт какой то другой, по компонентам если менялось, то что, по конфигам, да и вообще общую логику.
Эх печаль, не везет мне так не везет. С друпалом (6 => 7) такая же ситуация была. Только разобрался основательно в текущей версии, выходит новая и обесценивает все старые знания, усилия и подходы. Ведь заказывать будут хотеть только на новом, на "устаревшем" никто ничего не захочет теперь. Там так же было, что то поменяли, а что - фиг поймешь. Вроде тоже самое, но работает по странному, и вперед в том что раньше уже разобрался (ценой огромных усилий), рой построчно изменения.
Петр, всё будет. Уже начали.
Петр, что у вас всех так все сложно? Я уже активно юзаю 2 версию для тестового проекта что б понять что к чему. С версией 1.1 разобрался моментально, после зенда я просто попал в рай и начал наслаждатся ним, или вера не позволяет смотреть документацию и все такое? Сложность создают точно не разработчики проекта... ЗЫ: Есть такая фича крутая, читать доку, говорят помогает...
Sam, спасибо за ссылку, прочитал, это уже похоже на правду. Это все в основном? А не подскажите по какой логике мне было бы легче находить ответы на например такой вопрос: почему в Connection::$pdo стало публичным свойством? В предыдущем было приватным. Связано это с тем что для каких то новых возможностей php 5.3. нужно настраивать напрямую объект pdo?
Roman, после зенда у тебя другие процессы обучения шли, распознавание то же вместо обучения, ты же не сравнивай. Для меня yii - первый ОО PHP фреймворк и многие вещи пришлось прозревать. Про доку насмешил, стал бы я дебажить код в поисках ответов если бы нашел их в гиде или в книгах...
Пётр, лучше всего спрашивать. Например, тут.
В предыдущем были геттер и сеттер. Так внутри них никакой особой логики не было и никто их не перекрывал, решили избавиться от лишней прослойки.
В книгах и документации действительно описать всё не получается. У всех разный начальный уровень подготовки и всем нужно разное количество пояснений для понимания сути. В новой документации я планирую приводить больше ссылок. Так те, кому и так понятно, смогут быстро всё прочитать, а те, кому нужны пояснения, смогут пройти по ссылке и почитать дополнительно.
Ясно, насчет улучшения понятности обучающих материалов могу посоветовать вам глянуть глазком на книгу Курдюмова "Педагогическая опупема", глава 2, там в частности говорится что : Препятствий в обучении — всего три:
Если анализировать, то официальный гид имеет существенные проблемы с 1 и 3 Ваша например книга рецептов - 2 и 3 А исходный код - со 2-ым пунктом
Я учился по всем трем, но больше всего мне помог разобраться исходный код, решая его проблему 2 с помощью гида, сами понимаете почему, в нем меньше препятствий для обучения, но и работать с ним трудоемче и дольше.
Пётр, Курдюмова почитаю. Спасибо.
В коде пункт 2, естественно, поправить невозможно.
А вот официальный гид поправить вполне реально. По нему очень хотелось бы обозначить те места, которые вызывали проблемы.
Буду в скором времени в следующий раз просматривать гид, отмечу тут примеры моментов, которые лично мне были непонятны.
Давайте для примера раздел: Приложение::1. Конфигурация приложения
По сути что мы изначально имеем из известного? Ничего. Что мы хотим узнать? Роль файла конфигурации main.php и как им полностью пользоваться, в том числе как изменять этот массив при желании.
Сразу встречаем:
Каким точно образом устанавливаются эти св-ва не говорится. Глядим почти сразу есть "св-во" import. Смотрим в api класс CWebApplication такого св-ва в Public Properties нет.
Не забываем мы же привыкли что в php возможно присваивание любых свойств объекту на лету. Итак в результате видим что есть массив в файле main.php с не совсем понятными значениями ключей, а уж тем более у компонентов тоже есть свои внутри "св-ва" и непонятно как их настраивать.
Предпочтительно как бы это уточнять:
...
И еще пример что было большой проблемой это - раздел модель, в котором прямо говорится что в yii два вида моделей - модель формы и AR модель, вторая по сути представляет всего лишь строку в таблице.
Есть такая большая концепция MVC, в вики описанная, насчет VC понятно что это такое, а модель - все остальное. И как же это все остальное можно представить этими всего лищь двумя моделями...
Например логика скидок в магазине. Это модель, но причем тут формы или строки в таблице...
В общем вот это самое явное - говорить в общем как что то делать, но не объяснять суть происходяшего, достаточно сквозных ссылок на api, можно даже как в спойлерах.
Спасибо. Вот такие правки сделал на основе ваших предложений: https://github.com/yiisoft/yii/pull/2487/files
По поводу того, что конкретно было не понятно в документации. Прочитав главу о компонентах я так и не понял как работает система ивентов.
dougan, как работает внутри или как пользоваться?
Sam, у меня есть "Yii. Сборник рецептов" Будет ли книга как то полезна для yii2? И будет ли книга для Yii2 выпускаться на русском?
Разве что идеями. Код не заработает. Книгу для Yii2 пока планов писать нет. Ещё фреймворк не готов.