Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

PHPYii
image

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

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

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

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

PHPYii

Введение

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

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

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

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

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

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

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

Yii
Из песочницы
Доброго времени суток, коллеги!

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

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



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

Yii 2 alpha

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

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

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

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

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

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

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

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

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

PHPYii
Из песочницы
Часто, а на самом деле практически всегда, при создании сайта необходимо, чтобы страницы сайта открывались не по 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
Просмотры75.3K
Комментарии 28

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

TopicPHPYii
Tutorial
Recovery mode
При разработке сайта неотъемлемую часть занимает получение коллекций данных. Выборка по определённым условиям, пагинация. Каждый раз писать реализацию в контроллерах весьма занудно. Когда как можно один раз сделать расширяемую реализацию часто используемого функционала.

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

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

TopicРазработка веб-сайтов
Любой айтишник проводит значительную часть жизни сидя перед компьютером (привет КО!). Особенно тяжко приходится тем, кто работает удаленно или фрилансит. На работу идти не нужно, и бывают дни, когда по несколько дней не выходишь из дома.

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


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



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

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

PHPYii
Из песочницы
Tutorial
Введение

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

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

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

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

PHPYii
Recovery mode
Меньше недели назад обновился Roadmap разработки любимого многими фрэймворка Yii2.

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

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

Yii 2.0 beta

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

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

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

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

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

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

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

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

Настройка Yii2 RBAC

PHPYii
Tutorial

Задача


Настроить использование 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
Просмотры126.8K
Комментарии 18

Yii 2.0 RC

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
Просмотры36.4K
Комментарии 78

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

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

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

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

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

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

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

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

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

Книги по Yii2

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

image

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