Насколько готов и когда выйдет Yii2
5 марта 2012
Этот вопрос задают очень часто, поэтому, чтобы не повторяться, официальный ответ.
Yii 2.0 сейчас довольно далёк от релиза. Продумываение, обсуждение и построение архитектуры требует очень много времени потому как мы не ограничиваемся переносом старого кода как есть.
Наш план таков:
- Описать новые возможности (такие как новый AR, изменения в MVC) и получить фидбек.
- Выложить код на github и получить ещё больше фидбека.
- Пригласить сообщество помочь доделать то, что ещё не полностью готово в 2.0 (например, различные бэкенды для кеша, драйверы различных СУБД и т.д.).
- Выпустить альфу как только все запланированные возможности будут готовы.
- Выпустить бету после тщательного тестирования и исправления ошибок.
- Выпустить один или несколько RC и, наконец, стабильный релиз.
Комментарии RSS по email OK
Желаю вам по больше терпения.
Благодарю вас за такой огромный и полезный труд!
Что-нибудь из современного планируется: namespace, traits и т.п?
Неймспейсы конечно будут (где-то на форуме проскакивало), да и грех их не использовать
По поводу трейтов: РНР 5.3.8 кажется будет, так что трейты отменяются.
Хотя, Александр, не мог бы в двух словах прокоментировать: думали ли core-team над использованием трейтов вместо behaviors (наверняка думали) и почему не хотите / не возможно это делать?
Вот лично мне кажется с появлением треитов наличие еще и поведений от фреймворка каким-то нехорошим явлением...
В подкасте Yii Talks Александр рассказывал, что будут использоваться бехейворы а не трейты, из-за определенных недостатков последних
Верно. Трейтов не будет потому как PHP 5.3. Их, как единственную большую фичу PHP 5.4, мы, конечно, рассматривали и пришли к выводу, что заменить behavior ими не выйдет потому как:
спасибо за пояснение
действительно. это, наверное, ключевой момент
вполне документировано http://php.net/manual/en/language.oop5.traits.php
ну здесь можно было бы делать АПИ интерфейс трейта минимальным необходимым, а всякое private выносить в отдельный класс, который вызывался бы трейтом (это на вскидку, не знаю на сколько возможно, сам еще на практике трейты не использовал)
Пункт 1 тоже можно попытаться обойти конфигурацией самого класса, куда мы несем функционал, вместо кинфигурации трейта, но это будет неудобно по сравнению с behavior...
Все, теперь и мне 5.3 кажется лучшим выбором для Yii2 )
Главное что бы не получился совсем другой фреймворк(похожий) с его новыми несовместимостями(пугает > изменения в MVC) ).
Удачи. Жду с нетерпением, если честно, но понимаю что ждать еще долго :(
А что в MVC поменается?
Спасибо вам :) и удачи :) А вообще, в таком случае хотелось бы скорее услышать ответ на вопрос: Как долго еще точно не выйдет Yii2?
Скажите, будет ли реализован полноценный View? Под полноценным View я подразумеваю, как минимум, компонент.
bettrrr, пока рано об этом говорить.
Dmitry, если вопрос в том, начинать ли проект на Yii 1.1, то да, начинать.
Александр, что именно этот компонент должен делать?
Sam, а есть в планах сделать поддержку ACL для CMenu и CForm/CActiveForm типа как в ZF?
NickSun, а как в ZF?
Передаю набор правил ACL в Zend_Navigation. Далее, если у меня 10 ролей с различным доступом, то ZF согласно этим правилам для каждой роли выводит те или иные пункты меню. Для форм не совсем так гладко, но все же есть возможность при построении формы проверить право доступа (это буквально одно условие if для каждого элемента формы) и соответственно добавить элемент к форме. В результате получаем что пользователь видит/может редактировать только что "положено" :)
На практике для всех меню, дело решается двумя строчками (например в плагине): Zend_View_Helper_Navigation_HelperAbstract ::setDefaultAcl(Zend_Acl $acl); Zend_View_Helper_Navigation_HelperAbstract ::setDefaultRole($role); Далее наслаждаемся результатом :)
В
CMenu::items
естьvisible
. Это как раз подходящее место для проверки. В Yii нет чёткой привязки роли к действию контроллера, поэтому на автомате делать такое выйдет только в пределах одного приложения следуя каким-то соглашениям.CActiveForm
вроде тоже сif
-ом работать умеет :)Да,я в курсе про visible, и про if для форм :) Мне просто нравится реализация ZF для меню. Уж очень удобно оно у них получилось.
Будет время, гляну плотнее. За наводку на удобную реализацию спасибо.
http://goo.gl/OZFfk - вот, например, здесь хорошо показаны обращения контроллера к этому компоненту (View).
Это, по-моему, тоже в Zend. А сейчас файлы View - это и шаблоны, и вызов методов. Не труЪ как-то. Да и неудобно очень верстальщикам. Разумеется, можно разделить контроллер и представление "руками", т.е. самостоятельно, но хотелось бы, чтобы любимый фреймворк предоставлял данный функционал из коробки.
Пример неудачный. В Yii сейчас хоть и не «труЪ», но левых вызовов вроде передачи i18n в View или десятка длинных присвоений переменных нет. Однако, такой класс может найти себе место в Yii2. Зависит от того, как мы поступим с
CHtml
.Yii классный фреймворк. Я считаю одним из особенностей фреймворка должна быть загрузка контроллеров через кастомний автолоад, так как class map не очень удачная реализация для больших проектов и структура не всегда подходить. Да возможность использовать модули есть но через них больше итераций. Еще раз спасибо за прекрасный фреймворк.
Спасибо, хорошая новость. Теперь понятен порядок дней, до выхода Yii2:) Yii очень удачен - этому свидетельствует быстрый рост его популярности, желаю чтобы Yii2 был еще успешней!
Жалко только одно: Yii не развивается, так как, насколько я понял, все силы брошены на Yii2. Понимаю, надо еще работать, чтобы зарабатывать деньги.
Вот такой вопрос: а если вам организовать фонд помощи или пожертвований? Я бы с удовольствием регулярно переводил небольшие суммы. Может это добавить свободного времени разработчикам и ускорит выход Yii2? :)
Владимир, Yii ещё как развивается. Загляните на github. Пожертвования, конечно, дело хорошее, но пока в финансовом плане у нас всё хорошо, да и времени ровно столько, чтобы нормально продумывать, а не лететь сломя голову. За готовность помочь спасибо, приятно.
Только начал разбираться с yii и был сильно удивлён отсутствием функционала по работе в почтой. Я понимаю что комментарии, форум и прочее у всех могут быть разные и yii - фреймворк, а не цмс, но почта - это неотъемлемая часть любого вебприложения. Работа с ней должна быть на уровне ядра чтобы все расширения делали всё одинаково и были механизмы по контролю/перехвату/изменению их действий. Поэтому мне бы очень хотелось, чтобы во второй версии либо появилась своя реализация, либо было принято за стандарт одно из уже существующих расширений, да можно хоть из zend взять. Спасибо.
Ставь расширение для почты и пользуйся. Скачать можно с официального сайта
igor, вот представьте, установил я некое стороннее расширение (не для почты), которое в процессе своей работы что-то там отправляет на почту юзерам. А меня не устраивает, например, текст, да токенов нет... Патчить код, а потом при каждом обновлении заново? Можно сделать по-правильному - расширить функционал, но если в другом расширении встретиться такая же проблема, а там своя "приблуда" для почты прикручена, разбираться и с ней? И т.д. А вот делали бы они все через api - было бы надёжней, безопасней и все бы знали как с этим работать.
Хотелось бы чтобы наконец AR child->parent, стал 10c + 1p, а не 10с + 10p (одинаковых)
Dr.Death, ???
Sam, думаю имелось в виду введение identity map для AR объектов
Sergey, судя по описанию оно и есть Sam, чтобы вызов $comment->post не дергал каждый раз post из базы ( речь не про with('post') ) и ссылался на один и тот же объект post, а не плодил близнецов для каждого comment
не знаю может объясняю как то не так :)
Кажется то что надо https://github.com/phpnode/YiiBlocks/tree/master/identitymap
Похоже да не то, кол-во запросов в базу не уменьшилось...
Штука довольно спорная и может породить кучу нетривиальных ситуаций. Если и будет, то не сразу.
Мне кажется один объект размноженный по куче переменных быстрей натворит дел :)
Поддерживаю
Насколько совместимы будут версии? Будет ли возможность апгрейда проекта с YII на YII2?
halgerd, не сильно совместимы.
Sam, какая тогда польза от будет от нового релиза проектам на YII1?
Никакой.
Сорри как изменились, дела после марта ? Уже ноябрь. Когда релиз ? :D
Код изменился прилично, появилась куча новых идей, но до альфы всё-ещё далековато.
Можете забыть про Yii 2 он будет на руби
Ага, на бэйсике
У блин, а ведь правда, фу...
Блин, я паходу 2 раза дибил, гребанное 1 апреля, в интернете можно не сидеть
Можно сделать его, вообще, без view с заточкой на то, что все это будет на клиенте? Или хотя бы четко отделить, чтобы не таскать лишний код в сайты, где он не нужен.
View таки нужен всё таки :)
Сейчас нет фреймфорков, которые позиционируются как бэкэнд для аякс-сайтов, а все к этому идет. Было бы неплохо, если бы появились примеры взаимодействия yii 2 и angular.js, например
Олег, ничего сложного в взаимодействии вроде нет. Напишу как-нибудь про это.
Будет ли возможно проапгрейдить Yii 1 до второй версии?
Никита, код Yii2 доступен, смотрите сами.
Отлично! Занимаюсь переводом документации AngularJS (angular.ru). С удовольствием размещу статью про взаимодействие AngularJS с Yii 2.
И пожелание от меня (и многих фронтендщиков). Напишите, как выпилить из Yii 2 вид и всё что можно сделать на клиенте. Покажите, как сделать валидацию форм, регистрацию пользователей, взаимодействие с БД, т. е. базовые вещи, которые позволят быстро прикрутить Yii к клиентскому коду. Cейчас проще написать на чистом PHP, чем изучить фреймворк.
Документация по Yii рассказывает КАК что-либо сделать, но ничего не говорит о том ЧТО можно сделать на этом фреймворке. Посмотрите на главную страницу AngularJS, где отлично показано на что способен фреймворк с примерами и исходниками. Причем, показаны примеры бизнес-задач, а не решения каких-то программистких проблем. Советую взять подход за основу.
Олег, на фреймворке можно сделать всё, что угодно. Взаимодействие с AngularJS сводится к построению API. Демки у Yii также имеются.
Вы безусловно молодцы, но документация очень далека от того, что привел выше. Уж сделать несколько хороших демок по регистрации пользователей, валидации форм, связи с БД, многоязычности, загрузке файлов и реал-тайм чату не столь сложно для профессионала Yii, зато сразу видно, что можно сделать + взять готовое решение, а не искать по всему инету, следовательно порог входа значительно ниже. В качестве демки по загрузке файлов, можете, кстати, переработать мой плагин: tamtakoe.ru/photoalbum/
Олег, подумаем над примерами ближе к стабильному релизу. Пока их рано писать. API меняется.
Извините я немного запоздал с прогрессом... Все же интересно как сейчас дела обстоят, все еще можно начинать с 1.1 или стоит начинать потихоньку копать 2 ?
Вполне можно начинать с 1.1, но порыть 2.0 тоже можно.