Все потоки
Поиск
Написать публикацию
Обновить
0

Yii *

Фреймворк, реализующий парадигму MVC

Сначала показывать
Порог рейтинга
Уровень сложности

Пошаговое руководство сохранения связанных данных Yii

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров36K

Intro


С недавних пор, я начал изучать замечательный фрэймворк Yii. При разработке, я столкнулся с задачей сохранения данных из одной формы, в несколько таблиц. Погуглив, я не нашел вменяемого руководство, которое объясняет полный смысл этого сохранения. На официальном, русскоязычном сайте, я нашел короткую статью от Александра Макарова, но она, опять же в общих чертах демонстрирует «соль» этого метода.
Я решил написать эту статью, в стиле tutorial, чтобы дать новичкам возможность наглядно увидеть полный цикл CRUD при работе с несколькими моделями, а тем кто по-опытней, покритиковать это решение, и объяснить «как делать не надо».
Читать дальше

ActiveRecord и откат транзакций в Yii

Время на прочтение5 мин
Количество просмотров17K
Хотелось бы рассказать об одной проблеме, с которой мы столкнулись при разработке нашего стартап-проекта для управленческого учета.

Для нашего проекта, как учетной системы, характерно производить изменения в других объектах после сохранения текущего, например, проведение документа по регистрам после сохранения. Суть в том, что после сохранения объекта в транзакции ActiveRecord будет считать, что все изменения прошли успешно, хотя это не гарантировано, ведь последующие изменения могут вызвать Exception, а он в свою очередь к откату транзакции. В нашем случае, это грозит тем, что при ошибочном создании записи, экземпляр ActiveRecord уже будет иметь статус существующей записи (флаг isNewRecord == false) или для новой записи уже будет присвоен primaryKey. Если вы при рендере опирались на эти атрибуты (как мы в нашем проекте), то в результате получите ошибочное представление.
Читать дальше →

Сессии в API на Yii c возможностью хранения в Redis

Время на прочтение7 мин
Количество просмотров21K
Не так давно у меня возникла необходимость написать API на Yii Framework, одним из функциональных требований в котором является авторизация. Для механизма авторизации я решил использовать сессии.
Читать дальше →

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

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

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

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



Вдохновленный этим замечательным инструментом, я решил портировать его на Yii 1.1. Код, который в итоге получился, можно посмотреть на github.
Читать дальше →

Автоматическая генерация кода в Yii

Время на прочтение2 мин
Количество просмотров18K
Привет, %username%! Несколько лет назад я познакомился с замечательным фреймворком Yii и с тех пор как только у меня появляется возможность вести проект на нем — я дерусь берусь за нее.

Одной из крутых фич которую я очень люблю, это инструмент Gii, который начиная с версии 1.1.2 входит в состав фреймворка. Сейчас я хочу поговорить сторонних модулях основанных на нем.

Gii «Из коробки» генерирует достаточно функциональный код, часто когда нужно создать мелкую фичу приходится очень мало менять. Но что если нам нужно больше возможностей? К примеру добавить поддержку нескольких языков, или изменит стиль генерируемого кода?
Есть 2 способа расширения: Изменять существующие шаблоны и создавать свои генераторы (ну или использовать уже готовые соответственно). На базе этих возможностей были созданы достаточно интересные продукты для комфортной работы с авто генерацией кода.
Читать дальше →

Интеграция phpBB в Yii framework

Время на прочтение5 мин
Количество просмотров11K

Пошаговая инструкция о том, как быстро интегрировать форум phpBB в ваш сайт, написанный на Yii framework


Я собрал воедино все инструкции по интеграции форума в Yii framework, выполнив которые, вы гарантированно получите работающий форум и маленький бонус в конце статьи.
Читать дальше →

Yii 1.1.14

Время на прочтение1 мин
Количество просмотров7.5K
Вышла стабильная версия Yii 1.1.14. От RC отличается не сильно. Были выловлены и исправлены несколько ошибок и регрессий и обновлены переводы документации и сообщений.

Bootstrap CSS Sprite: синтаксический сахар для <img />

Время на прочтение3 мин
Количество просмотров21K

UPD


Сегодня в этом уже нет никакого смысла. Просто настройте себе HTTP/2



Что это?


В один прекрасный день я отчётливо понял, что устал писать длинные ссылки на файлы изображений, каждый раз задавать им ширину и высоту, заботиться о том, чтобы это всё не прыгало при загрузке и не мигало при наведении мышкой. И я решил автоматизировать всю эту рутину. Так появился Bootstrap CSS Sprite — библиотека, которая позволяет работать со всеми вашими изображениями, как с одним спрайтом. При этом доступ к тайлам спрайта осуществляется в стиле Twitter Bootstrap.

Приведу пример: у нас есть файл изображения cat.png. Чтобы показать это изображение надо использовать тег <i>, указав для него CSS-класс img-cat, как мы делаем это в Twitter Bootstrap:

<i class="img-cat"></i>


Читать дальше →

Расширение yii для работы с сервисом sms.ru

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров12K
Сегодня я бы хотел поделиться информацией о компоненте для yii, который позволяет отправлять смс рассылки через сервис sms.ru.
Читать дальше →

Yii 1.1.14 RC

Время на прочтение4 мин
Количество просмотров22K
Вышел кандидат в релизы PHP фреймворка Yii 1.1.14. Забрать можно с GitHub.

Исправлены более 80 ошибок, добавлено более 60 небольших улучшений и новых возможностей. Появился новый класс
CPasswordHelper, который предоставляет надёжный метод хранения и проверки хешей паролей. Также добавлен CRedisCache,
с помощью которого можно использовать Redis для хранений кеша. Yii может быть установлен как
пакет Composer. Полный список изменений дан
в changelog.

Значительную часть изменений сделали члены сообщества: creocoder, tom--, paystey, Ragazzo, antoncpu, Yiivgeny и другие,
за что им огромное спасибо.

Так как это кандидат в релизы (RC), не стоит использовать его на боевых серверах. Стабильный релиз 1.1.14 будет доступен в
течение нескольких недель, а пока мы будем очень признательны, если вы проверите RC и
сообщите нам об ошибках
. Заранее спасибо.

Ну а теперь рассмотрим главные улучшения.

Читать дальше →

Структура конфигов на сайтах Алавар

Время на прочтение5 мин
Количество просмотров10K
Всем привет!
Сайты Alawar — это сайты для русского, американского, европейских и других рынков, отдельные сайты для mobile-устройств, сайты партнерских программ и др. Все они развернуты на одном инстансе Yii, о чем мы уже писали в нашем блоге на хабре.
Сегодня я расскажу, как мы организовали хранение, структуру и управление конфигами наших сайтов, какие при этом получили преимущества. А также поведаю, как осуществляется деплой нашего проекта в различных окружениях.

Читать дальше →

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

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

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

Писать полную инструкцию по созданию блога, наверное, не имеет смысла, так как многие шаги схожи с первой версией, но я буду писать именно про те нюансы, которые отличаются, и буду делать акцент на новинках Yii2, которые я заметил в процессе создания приложения. Всё же остальное вы сможете быстро посмотреть в демо приложении, что, наверное, будет более эффективно, чем просто написанный текст.
Читать дальше →

Валидация динамически добавлемых полей в Yii

Время на прочтение2 мин
Количество просмотров16K
Все началось с новой работы, на которой пришлось отказать от Zend и перейти на Yii. При создании личного кабинета для сайта потребовались динамическое добавление полей в форме. После ковыряния в интернете пришло такое решение. Поехали:
Читать дальше →

Ближайшие события

jQuery EasyUI Datagrid + Yii Framework

Время на прочтение6 мин
Количество просмотров12K
Хочу табличку! Хочу табличку с сортировкой, опциональной разбивкой по страницам и близкой к стилю bootstrap, но так, чтобы в нее можно было добавить много много колонок.

Что нужно подготовить заранее?

1. Yii Framework ( http://www.yiiframework.com/ )
Нужно скачать, установить, запустить, разобраться с логикой построения проектов.

2. jQuery EasyUI ( http://www.jeasyui.com/ )
Нужно скачать, распаковать и скопировать в папку с ресурсами проекта в Yii Framework и подключить следующие файлы:

/easyui/themes/default/easyui.css
/easyui/themes/icon.css
/easyui/jquery-1.8.0.min.js
/easyui/jquery.easyui.min.js

Читать дальше →

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

Время на прочтение4 мин
Количество просмотров109K

Введение

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

Спустя день здесь на хабре появился обучающий материал, прочтение которого вызвали странные впечатления и после выходных потраченных на изучения кода Yii2, я решил написать свою версию. Надеюсь получится не хуже.
Читать дальше →

Создание простого CRUD-приложения с помощью Yii2

Время на прочтение14 мин
Количество просмотров98K

Disclaimer


Этот урок поможет вам познакомиться с Yii2. В данный момент Yii2 абсолютно не готов для продакшена. Я не рекомендую использовать его в рабочих проектах.

Начнём


Сегодня авторы Yii Framework анонсировали публичное превью Yii2. Между Yii1 и Yii2 довольно много изменений.

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

Для продолжения вам потребуется:

  • Вебсервер, например Apache или Nginx. Я буду использовать Nginx. Использование Apache будет отличаться незначительно, поэтому не волнуйтесь если у вас нет поблизости сервера с Nginx.
  • Север базы данных для нашего приложения. Я выбрал MySQL 5.5
  • Базовые знания PHP. Я постараюсь объяснять всё так просто, как это возможно, но чем лучше вы знаете PHP, тем проще вам будет двигаться дальше.
  • Базовые знания Yii или MVC. Если у вас нет никакого опыта работы с MVC, то я рекомендую вам прочесть основы MVC. Вы можете прочитать этот урок и без знания MVC, но вам будет гораздо легче понимать происходящее, разбираюсь в теме MVC.

Вперёд!
Читать дальше →

Доступно публичное превью Yii 2

Время на прочтение1 мин
Количество просмотров25K
Долгожданное превью не менее долгожданного фреймворка Yii 2 стало доступно для всех желающих.

Вольный перевод официальной новости:
«Мы рады сообщить, что превью Yii 2 доступно на Github. Это важное событие в разработке Yii 2, которая началась более двух лет назад — с тех пор мы полностью переписали его.

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

Мы искренне приглашаем вас поиграться с кодом Yii 2 и написать о своих впечатлениях нам, а так же приглашаем поучаствовать в его разработке»

Yii 2 на Github
Багтрекер Yii 2
Ветка форума посвященная Yii 2
Еще немного ссылок и информации

Контекстно-зависимая форма в Yii

Время на прочтение6 мин
Количество просмотров27K
При работе с фреймворками всегда приходится создавать основной функционал самим, желательно, используя при этом возможности фреймворка (зачем тогда он нам нужен). Как понятно по заголовку речь пойдет про контекстно-зависимые формы в Yii. В статье описана реализация подобной формы, используя модальное окошко. Надеюсь, что кому то будет полезен именно такой вариант.

Забегая вперёд скажу, что в результате должно получиться вот такое поле, выпадающее меню и кнопка справа для выбора нужных данных.


Читать дальше →

RBAC Авторизация в YII и LDAP

Время на прочтение12 мин
Количество просмотров98K

RBAC — это простой и мощный способ централизованного управления доступом в веб приложении. Основным его достоинством является то, что при правильном понимании и применении иерархии авторизации можно очень гибко управлять доступом не изменяя код контроллеров.

К сожалению стандартный мануал по RBAC в YII оставляет больше вопросов чем ответов. Эту ситуацию я и намереваюсь исправить.
Я расскажу о создании “правильной” иерархии: как делать не стоит. А в завершении я приберёг инструкцию, о том как подружить LDAP авторизацию (из ActiveDirectory ) с Yii и RBAC.

Все кто заинтересовался, добро пожаловать под кат!
Читать дальше →

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

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

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

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

Официальный анонс.

Вклад авторов