С Yii 1.1 на Yii 2.0, часть 1: PHP
22 апреля 2014
Вопрос о переходе с 1.1 на 2.0 всплывает слишком часто, чтобы не разобрать его более детально. Начать, конечно, стоит с самого основного, а именно с PHP.
В Yii 1.1 использовался PHP 5.2. В некоторых местах можно было использовать элементы из 5.3. В Yii 2.0 используется PHP 5.4. Причём не просто используется, а используется по полной программе.
Итак, для перехода на 2.0 стоит изучить:
- Пространства имён.
- Анонимные функции.
- Короткий синтаксис массивов. Тут всё просто, вместо
array()
теперь[]
. - Короткий
echo
в виде<?=
. Доступен всегда. Используется во всех view-шаблонах фреймворка. При этом<?
пользоваться, как и ранее, небезопасно. - SPL.
- Позднее статическое связывание.
- datetime.
- Трейты.
- intl. В Yii2 многое из intl завёрнуто в компонент i18n, но не всё.
Комментарии RSS по email OK
Очень правильный пост :) Саша, спасибо!
Спасибо! В Yii 1 новый проект создавался yiic webapp путь где будет проект. А как создать в Yii 2?
null, через composer github.com/yiisoft/yii2/tree/master/apps/basic Example: php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
А можно для тех кто в танке объяснить, почему <? не безопасно использовать? или ткнуть носом где почитать можно?
Уже давно так и сделал, о чем я уже писал в статье на хабре.
о <? www.php.net/manual/en/language.basic-syntax.phptags.php
Короче говоря... Вы сделали Symfony2. Верно? На хера?
LOL, общее у них то, что MVC и то что PHP свежий...
Спасибо! [sarcasm] Действительно, зачем вообще люди делают другие фреймворки, если есть Symfony2? [/sarcasm]
LOL, [bigsarcasm]короче говоря... вы программист и знаете Symfony2. Но ведь есть уже программисты знающие Symfony2. На кой черт вы этому миру?[/bigsarcasm]
Верно, не за чем.
Алексей, [thebiggestlol]Ахахах! +100! Теперь заряд позитива на год! Это надо заскринить =)[/thebiggestlol]
Как говорил в моем детстве Михалков: "Мамы разные нужны, Мамы разные важны."
Этому миру нужны и конкуренты, и клоны, и, даже, форки. Кто кого перживет и какой кусок рынка отожрет покажет время.
В чем разница между трейтом и интерфейсом?
Можно пару примеров где используется SPL в Yii2?
Про разницу читайте по ссылкам, там всё подробно.
SPL используется много где: исключения, автозагрузка классов, итераторы,
ArrayAccess
и так далее.Про Spl, Sam: ArrayAccess, Exception и интерфейсы использовались и раньше. Итераторов не нашел. Больше ничего и не используется вродебы
Всем привет. Расскажите, пожалуйста если кто реализовывал уже rbac, то для чего и как можно применить data в auth_item, так как пройдясь по коду не заметил нигде использования этих данных при проверке доступа?
Или это задумано для создания какой-то своей логики и создания своих типов item'а, то есть наследников от yii\rbac\Item?
Что то не пойму, все таки в экшене
или
В примере шаблона return, но начинаю писать сам и он не работает, а только echo. В исходниках метод render возвращает строку, соответственно я могу ее либо сохранить, либо вывести. В инструкции по миграции с первой версии указано echo, а в учебнике return.
Сергей, return. Если не работает, это баг. Смысл: все должно проходить через объекты Request/Response. Тогда это более тестируемо и настраиваемо.
Алексей, если баг, то куда копать?
Создал основной класс контроллера для фронта и админки
Создал основной класс контроллера для админки
Создал контроллер
и тишина, чистый лист браузера. Меняю return на echo выводится страница как задумано с view и layout.
А стандартные приложения тоже чистый лист дают? Там
return
.Стандартные приложения работают корректно, используя return. Поэтому и недоумеваю, в чем причина.. Я сделал контроллер по аналогии, добавив в цепочку пару классов, расширенные от \yii\web\Controller.
Сергей, подозреваю, где-то не вызван
parent::
.Все, разобрался. Спасибо за наводку, Sam. Неверно был переопределен метод afterAction. Сделал по старинке
а надо
Здравствуйте, по работе поставили задачу изучить php фреймфорк. Выбрали для изучения yii.
Посоветуйте пожалуйста. Мне начать изучать yii 1.1 или я могу сразу начать yii 2?
Много информации по yii 1.1, а вот по второй версии пока только документация
Изучать yii2, взять для примера одно из приложений в репозитории (я бы взял advanced, хоть и посложнее), разобрать его, читать документацию. В принципе информации достаточно.
Игорь, начинай с Yii2, на первый даже не смотри, он теперь в режиме поддержки. Второй Yii - современный. Перед изучением фреймворка изучи современные возможности PHP - те, которые описаны в посте. Также почитай про composer и bower - удобные инструменты с которыми тебе придется работать. По поводу информации - уже достаточно. Документация откинет у тебя большинство вопросов и спасет от костылей. В рунете есть elisdn - пишет постоянно о фреймоврке и проводит вебинары. Советую также подписаться на группу в Facebook - очень много полезного материала.