Как стать автором
Обновить

Yii2 мигрирует с PHP на Ruby (первоапрельская шутка)

Время на прочтение 1 мин
Количество просмотров 16K
PHP *Yii *
image

Команда Yii не без удовольствия сообщает, что Yii2 с сегодняшнего дня переписывается на Ruby. Текущая стабильная версия останется на PHP. После многих месяцев раздумий мы решили, что Ruby подойдёт для Yii2 больше, чем PHP.

Мы сделаем всё возможное, чтобы переход был лёгким и безболезненным. Вам не придётся волноваться о потенциальных проблемах при миграции.

Официальный анонс.
Всего голосов 60: ↑30 и ↓30 0
Комментарии 24

Yii2. Знакомство

Время на прочтение 4 мин
Количество просмотров 108K
PHP *Yii *

Введение

На днях, свершилось событие, которое Я и думаю еще немало людей ждали. Авторы Yii Framework выкатили превью-версию.

Спустя день здесь на хабре появился обучающий материал, прочтение которого вызвали странные впечатления и после выходных потраченных на изучения кода Yii2, я решил написать свою версию. Надеюсь получится не хуже.
Читать дальше →
Всего голосов 127: ↑116 и ↓11 +105
Комментарии 54

Знакомство с Yii 2 на основе создания простого блога

Время на прочтение 9 мин
Количество просмотров 184K
Yii *
Из песочницы
Здравствуйте, уважаемые хабрапользователи!

Как вы уже поняли из заголовка, в данной статье пойдёт речь о новой версии Yii. Я попробую коротко, на живом примере, познакомить вас с замечательным Yii 2.

Писать полную инструкцию по созданию блога, наверное, не имеет смысла, так как многие шаги схожи с первой версией, но я буду писать именно про те нюансы, которые отличаются, и буду делать акцент на новинках Yii2, которые я заметил в процессе создания приложения. Всё же остальное вы сможете быстро посмотреть в демо приложении, что, наверное, будет более эффективно, чем просто написанный текст.
Читать дальше →
Всего голосов 42: ↑36 и ↓6 +30
Комментарии 33

Дебаггер для Yii 1.1 портированный из Yii 2

Время на прочтение 2 мин
Количество просмотров 17K
Yii *
Из песочницы
Доброго времени суток, коллеги!

Недавно команда разработчиков фреймворка Yii 2 порадовала сообщество нативной дебаг-панелью. Важная особенность этого дебаггера в том, что он пишет историю, и дает возможность исследовать отладочную информацию от каждого запроса к yii-проекту. Это делает простым и приятным занятием отладку ajax-запросов, страниц с редиректами, рендеринг графических изображений и прочее.

Внешний вид и принцип использования одной из ранних версий дебаггера в Yii 2 можно увидеть на видеоролике Александра Макарова (SamDark):



Вдохновленный этим замечательным инструментом, я решил портировать его на Yii 1.1. Код, который в итоге получился, можно посмотреть на github.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 15

Yii 2 alpha

Время на прочтение 1 мин
Количество просмотров 17K
Yii *
Вышла первая альфа версия Yii 2. Скачать в виде архива её можно с официального сайта. Там же приведены инструкции по установке через Composer.

Yii 2 является полностью переделанной версией одного из самых популярных PHP-фреймворков. В новой версии унаследован общий дух первой версии, а именно стремление к простоте, скорости и расширяемости. В Yii 2 применяются многие возможности PHP 5.4. Фреймворк следует лучшим практикам современной веб-разработки.

Читать дальше →
Всего голосов 48: ↑42 и ↓6 +36
Комментарии 82

Пишем пространства с большой буквы в Yii 2.0

Время на прочтение 2 мин
Количество просмотров 14K
Yii *
Не так давно вышла первая альфа Yii 2, уже можно знакомится подробнее с ним.

После многочисленных дебатов, авторы выбрали маленькие буквы для пространств. И их нельзя за это осуждать. Ведь все аргументы в пользу одного варианта или другого сводятся к личным предпочтениям.

Схожий случай с нескончаемой войной «пробелы vs. табуляция». Нам просто говорят: «Смиритесь с этим, не парьтесь».

ОК. Стараюсь смирится. Даже первое время получалось, кого интересует что там внутри фреймворка. Но ничего не получается.
Читать дальше →
Всего голосов 30: ↑20 и ↓10 +10
Комментарии 23

Создаем поведение (behavior) для Yii2

Время на прочтение 7 мин
Количество просмотров 78K
PHP *Yii *
Из песочницы
Часто, а на самом деле практически всегда, при создании сайта необходимо, чтобы страницы сайта открывались не по id сущности в базе, а по текстовому идентификатору, назовем его slug.

post/view/1 => post/view/testovaya-novost


(из url'а стоило бы убрать и view, но урок не о том)

Самым примитивным путем можно создать в таблице post поле slug, в модели Post соответственно появляется новый атрибут, в представление (view) добавляем новый input, в который ручками вбиваем slug.


<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;

/**
 * @var yii\web\View           $this
 * @var common\models\Post     $model
 * @var yii\widgets\ActiveForm $form
 */
?>

<div class="post-form">

	<?php $form = ActiveForm::begin(); ?>

	<?= $form->field( $model, 'name' )->textInput( [ 'maxlength' => 255 ] ) ?>
	<?= $form->field( $model, 'slug' )->textInput( [ 'maxlength' => 255 ] ) ?>
	<?= $form->field( $model, 'content' )->textarea( [ 'rows' => 6 ] ) ?>

	<div class="form-group">
		<?= Html::submitButton( $model->isNewRecord ? Yii::t( 'app', 'Create' ) : Yii::t( 'app', 'Update' ), [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ] ) ?>
	</div>

	<?php ActiveForm::end(); ?>

</div>


Читать дальше →
Всего голосов 17: ↑12 и ↓5 +7
Комментарии 28

Пример использования standalone actions в Yii2

Время на прочтение 7 мин
Количество просмотров 38K
Блог компании Topic PHP *Yii *
Туториал
Recovery mode
При разработке сайта неотъемлемую часть занимает получение коллекций данных. Выборка по определённым условиям, пагинация. Каждый раз писать реализацию в контроллерах весьма занудно. Когда как можно один раз сделать расширяемую реализацию часто используемого функционала.

В данной статье будет приведен пример как при использовании функционала Standalone actions фреймворка Yii2 красиво организовать единообразную архитектуру, которую можно использовать во всех частях приложения.
Читать дальше →
Всего голосов 14: ↑9 и ↓5 +4
Комментарии 11

Сохранить здоровье %username%: поисковик спортивных игр

Время на прочтение 5 мин
Количество просмотров 19K
Разработка веб-сайтов *
Я как любой айтишник провожу значительную часть жизни сидя на работе перед компьютером, иногда еще на том же таси еду на работу и с работы. Особенно тяжко приходится тем коллегам, кто работает удаленно или фрилансит. На работу идти не нужно, и бывают дни, когда по несколько дней не выходишь из дома.

Википедия и исследования намекают, что за все надо платить. Если вы сидите за компьютером по 12-14 часов в день, к 50 годам (а может и раньше) качество вашей жизни может значительно снизиться.


Решение – перерывы в работе и физическая активность. Плюс, если вы работаете дома, а не в коллективе, то для бодрого психического состояния было бы неплохо, чтобы выбранный вид физической активности был групповым и предполагал социальные взаимодействия. Но найти с кем и где поиграть в футбол — не такая уж простая задача.



Мы решили создать сайт, на котором будут собраны все футбольные, баскетбольные, волейбольные и хоккейные игры. Постараться с помощью технологий облегчить жизнь как игрокам, так и организаторам игр. Под хаброкатом расскажу о сути проекта, архитектуре и используемых технологиях.
Читать дальше →
Всего голосов 39: ↑30 и ↓9 +21
Комментарии 68

Пишем парсер с помощью XPath и Yii

Время на прочтение 7 мин
Количество просмотров 21K
PHP *Yii *
Туториал
Из песочницы
Введение

Иногда бывают задачи когда нужно реализовать обертку для работы с API некоторого сервиса для нужд заказчика и сделать подобною задачу в основном довольно просто, но в сервиса не всегда есть этот API, либо возникает мысль что лучше бы его не было, поэтому приходиться парсить полностью страницу контента.

В качестве примера для данной статьи мы будем использовать выданное демо форума XenForo и заранее созданной темой, откуда будем парсить типичные данные: заголовок, время создания и сам текст темы, при этом парсинг будет осуществляться в авторизированном аккаунте форума. Все остальные данные можно будет взять по аналогии.

Сам парсер реализуем в виде компонента для удобного использования в Yii2.
Читать дальше →
Всего голосов 18: ↑10 и ↓8 +2
Комментарии 16

13 апреля Yii 2 переходит в статус Beta

Время на прочтение 1 мин
Количество просмотров 5.5K
PHP *Yii *
Recovery mode
Меньше недели назад обновился Roadmap разработки любимого многими фрэймворка Yii2.

В последние несколько дней, а также прямо сейчас в основную ветку вливается огромное число изменений.

Вот некоторые, самые интересные из них (по сравнению с текущей альфой конечно)
Читать дальше →
Всего голосов 17: ↑9 и ↓8 +1
Комментарии 10

Yii 2.0 beta

Время на прочтение 12 мин
Количество просмотров 42K
Yii *
Нам очень приятно сообщить о выходе бета-версии PHP фреймворка Yii 2. Вы можете загрузить его с yiiframework.com.

Бета включает в себя сотни новшеств, изменений и исправлений с релиза альфы.
Далее мы сделаем обзор наиболее важного, но сначала ответим на часто задаваемые вопросы.

Читать дальше →
Всего голосов 92: ↑88 и ↓4 +84
Комментарии 43

Использование Pjax в Yii2 (краткий обзор)

Время на прочтение 2 мин
Количество просмотров 85K
PHP *Yii *
Из песочницы
Разрабатываю проект на yii2, попутно изучая фреймворк, и не смог не поделиться одним из замечательных инструментов, который он представляет. Пост будет полезен тем, кто до этого с Pjax не работал. Опытным разработчикам, которые уделят посту время, буду благодарен за указание на неточности и дополнения, так пост станет полезнее и информативнее.
Читать дальше →
Всего голосов 25: ↑13 и ↓12 +1
Комментарии 5

Yii2 и организация мультиязычности

Время на прочтение 7 мин
Количество просмотров 91K
PHP *Yii *
Recovery mode
Из песочницы
Долгожданный выход Yii 2.0 Beta дал стимул многим разработчикам, использующих Yii, к переходу на вторую версию фреймворка. Разработчики фреймворка указали, что постараются не трогать обратную совместимость и в основном будут сосредоточены над исправлением ошибок и заканчивать документацию. Это дает еще больший импульс к использованию Yii2 в реальных проектах.

Мы решили не отставать от новшеств и выбрали именно вторую версию замечательного фреймворка Yii. При разработке проекта возникла необходимость в организации мультиязычности на сайте.
Читать дальше →
Всего голосов 20: ↑14 и ↓6 +8
Комментарии 30

Настройка Yii2 RBAC

Время на прочтение 6 мин
Количество просмотров 133K
PHP *Yii *
Туториал

Задача


Настроить использование RBAC в Yii2.

Условия


Список возможных ролей:
  • guest — не авторизованный юзер;
  • BRAND — авторизованный юзер, наследует разрешения роли guest и имеет свои уникальные разрешения;
  • TALENT — авторизованный юзер, наследует разрешения роли guest и имеет свои уникальные разрешения;
  • admin — авторизованный юзер, наследует разрешения ролей guest, BRAND и TALENT и имеет свои уникальные разрешения.
  • Роль определяется полем group в модели UserExt;
  • Роли имеют вложенную структуру — одна роль может наследовать разрешения другой;
  • Используется yii\rbac\PhpManager;
  • Не использовать назначение роли юзеру по его ID — вместо этого использовать несколько предустановленных ролей (defaultRoles);
  • Генерирование конфига «роль-разрешения» будет делать консольная команда yii;
  • Будут использованы расширенные правила (Rules) для разрешений.


Предварительная настройка


app/config/console.php
'components' => [
    // ...
    'authManager' => [
        'class' => 'yii\rbac\PhpManager',
    ],
    // ...
],


app/config/web.php
'components' => [
    // ...
    'authManager' => [
        'class' => 'yii\rbac\PhpManager',
        'defaultRoles' => ['admin', 'BRAND', 'TALENT'], // Здесь нет роли "guest", т.к. эта роль виртуальная и не присутствует в модели UserExt
    ],
    // ...
],


Создать директорию @app/rbac — именно в ней будут находиться разрешения и правила.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 18

Yii 2.0 RC

Время на прочтение 7 мин
Количество просмотров 37K
Yii *
Нам очень приятно сообщить о выходе RC (релиз кандидата) PHP-фреймворка Yii 2.0. Чтобы установить фреймворк или обновиться следуйте инструкциям на yiiframework.com.

В данной версии исправлено около сотни ошибок, сделано более двухсот улучшений и имеются новые возможности. Она является результатом пяти месяцев интенсивной разработки, если считать с беты. В течение этого времени нам активно помогало сообщество фреймворка. Спасибо всем, кто помогал Yii и без кого этот релиз не состоялся бы. Вы лучшие!

Часто задаваемые вопросы



  • Что значит 2.0 RC? RC значит Release Candidate, то есть последний релиз перед стабильным GA (General Availability). До него остались, главным образом, правки небольших проблем и документация.
  • Когда будет стабильный релиз? Всё зависит от того, какие проблемы будут с RC. Предварительный план — сделать стабильный релиз примерно через две недели. Конечно, если RC покажет себя достаточно стабильным.
  • Могу ли я использовать RC в своих проектах? Да. Мы настоятельно рекомендуем попробовать его в новых проектах и будем признательны за сообщения об ошибках и просто отзывы. Так как стабильный релиз будет скоро, мы не советуем использовать RC на боевых серверах потому как, хоть это и маловероятно, в стабильной версии всё ещё может быть поломана обратная совместимость.
  • Есть ли документация по 2.0? Да, полное руководство, которое является самой полной документацией по 2.0 и документация по API — справочник, который поможет в использовании отдельных классов фреймворка.
  • Как обновиться с 1.1 на 2.0? Читайте Upgrading from Yii 1.1. Сразу отметим, что 2.0 полностью переписан и обновление не является тривиальным. Если ваше приложение на 1.1 работает хорошо и стабильно, рекомендуем продолжать использовать 1.1, если конечно у вас нет дополнительного времени и ресурсов для обновления.
  • Как обновиться с беты или альфы 2.0? Читайте инструкции в UPGRADE.
  • Как следить за разработкой 2.0? Вся разработка происходит на GitHub: github.com/yiisoft/yii2. Чтобы получать информацию об изменениях, можно отметить проект звёздочкой. Также можете подписаться на наш Twitter twitter.com/yiiframework и присоединиться к группе Facebook.


Читать дальше →
Всего голосов 56: ↑49 и ↓7 +42
Комментарии 78

Yii 2.0: Динамическое добавление валидируемых полей формы через «пиджак»(pjax) для мульти-модельной формы

Время на прочтение 8 мин
Количество просмотров 53K
Разработка веб-сайтов *PHP *Yii *
Доброго времени суток, Хабр!
Не так давно передо мной встала задача разработки формы с возможностью динамического добавления полей, каждое поле являлось отдельной сущностью базы данных, то есть поле = запись в базе данных. Не смотря на то, что моя задача была не тривиальна, каждый вполне может столкнутся с чем-то подобным в той или иной мере. Например, с добавлением нового элемента прямо внутри GridView с последующим редактированием и сохранением.

Итак, начнем.
Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 9

Yii2 тестируем на HHVM

Время на прочтение 4 мин
Количество просмотров 22K
PHP *Yii *
Всем привет! Недавно зарелизился Yii2 с кучей новых фич и поддержкой HHVM, разработчики говорят о совместимости в 99%. Попробуем завести все это дело и опробовать в действии на живых примерах, где будут выборки из БД, сериализация (десирализация) данных, json — encode, decode, работа с ActiveRecord. Но прежде немного о самой машине. HHVM — экспериментальная виртуальная машина от Facebook для исполнения и JIT компиляции PHP кода. За счет неё можно увеличить производительность в несколько, а то и пять — девять раз на ресурсозатратных задачах. Проект живет и активно развивается. По поводу выхода новых версий хорошо написано в статье на хабре.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 27

Сохранение «многие ко многим» в Yii2 через поведение

Время на прочтение 5 мин
Количество просмотров 32K
Yii *
Из песочницы
Если вам приходилось работать с Yii2, наверняка возникала ситуация, когда нужно было сохранить связь «многие ко многим».

Когда становилось ясно, что в сети еще нет поведений для работы с этим типом связи, тогда нужный код писался на событии «after save» и с напутствием «ну работает же» отправлялся в репозиторий.

Лично меня не устраивал такой расклад событий. Я решил написать то самое волшебное поведение, которого так не хватает в официальной сборке Yii2.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 26

Книги по Yii2

Время на прочтение 3 мин
Количество просмотров 30K
Разработка веб-сайтов *Yii *
Recovery mode
Доброе времени суток читатель. Данный вопрос возник при изучении первой версии Yii (когда документацию прочел, но ещё есть не понятные для меня моменты).

image

Под катом предлагаю мини обзор списка книг которые на сегодняшний момент я нашёл, помимо официальной документации.
Читать дальше →
Всего голосов 19: ↑7 и ↓12 -5
Комментарии 11