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

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

PHP *Yii *
image

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

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

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

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

PHP *Yii *

Введение

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

Спустя день здесь на хабре появился обучающий материал, прочтение которого вызвали странные впечатления и после выходных потраченных на изучения кода Yii2, я решил написать свою версию. Надеюсь получится не хуже.
Читать дальше →
Всего голосов 127: ↑116 и ↓11 +105
Просмотры 108K
Комментарии 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
Просмотры 16K
Комментарии 15

Yii 2 alpha

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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



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

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

PHP *Yii *
Из песочницы
Tutorial
Введение

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

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

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

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

PHP *Yii *
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
Просмотры 41K
Комментарии 43

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

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

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

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

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

Настройка Yii2 RBAC

PHP *Yii *
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
Просмотры 128K
Комментарии 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
Просмотры 36K
Комментарии 78

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

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

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

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

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

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

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

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

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

Книги по Yii2

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

image

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