Как только узнав о исполняемых PHP-архивах phar, сразу же захотелось попробовать их. Разработчиками да и на хабре было все это добро довольно неплохо разрекламировано. Была информация о том что использование архивов +APC даёт прирост производительность в 6 раз.Читать полностью »
Рубрика «yii» - 32
Yii в phar’е
2012-09-03 в 20:13, admin, рубрики: phar, yii, yii framework, метки: phar, yii frameworkПривет всем любителям фреймворка Yii!
В цикле статей, хочу поделиться нашим подходом к разработке проектов на Yii. Возможно кому-то наши идеи будут полезны, возможно для кого-то это будет пища для размышлений, ну а возможно кому-то это нафиг не надо :). Я ни в коем случае не претендую на уникальность, не утверждаю, что делать надо именно так как это делаем мы.
Первый пост будет о конфигурации проекта, понимаю, тема избитая, ну куда ж без нее.
Читать полностью »
Yii 1.1.12
2012-08-19 в 14:36, admin, рубрики: framework, php, release, yii, yii framework, метки: framework, PHP, release, yii, yii frameworkКоманда PHP-фреймворка Yii выпустила новый релиз 1.1.12. Данный выпуск в основном исправляет проблемы, связанные с обратной совместимостью, которые были обнаружены после релиза 1.1.11. Было исправлено около 20 багов, добавлены не очень крупные фичи и сделаны мелкие улучшения.
Больше 15 человек поспособствовало выпуску данного релиза, за что мейнтейнеры и сообщество пользователей благодарны им за это.
Читать полностью »
Приведение к типам в Yii::app()->request
2012-08-17 в 7:49, admin, рубрики: mongodb, mysql, php, yii, метки: mongodb, mysql, PHP, yiiВсем привет!
Хочу поделиться с вами небольшим решением проблемы, с которой столкнулся при переносе части данных проекта в mongodb.
Изначально у нас использовалась только Mysql и все параметры приходящие от клиента вполне себе позволяли получать данные из базы без каких-либо проблем.
<?php
$id = Yii::app()->request->getParam('id', 0);
$data = Data::getForId($id);
?>
А суть в том, что для mysql нет разницы [select * from data where id = 1] или [select * from data where '1'].
Но mongodb типы данных различает, по этому нельзя найти запись используя условие id == '1' если id в mongodb является числом.
Yii 1.1.11
2012-07-30 в 15:54, admin, рубрики: framework, php, release, yii, метки: framework, PHP, release, yiiКоманда Yii зарелизила версию 1.1.11, в которую вошли более ста улучшений и багфиксов.
Этот релиз особенный потому как является первым с тех пор, как код Yii мигрировал на GitHub. Сообщество восприняло миграцию очень хорошо и выложилось по полной, прислав в виде pull-request новые возможности, исправления, unit-тесты и переводы.
За всё это огромное спасибо! Особенно отметим: resurtm, DaSourcerer, cebe и suralc.
Можно ознакомиться со списком изменений и новыми возможностями. Если планируете обновиться, внимательно читайте инструкции.
После релиза обнаружились некоторые неприятные ошибки. Работаем.
Ну а теперь рассмотрим некоторые изменения.
Юнит-тестирование моделей в Yii
2012-07-10 в 11:28, admin, рубрики: tdd, yii, метки: tdd, unit-testing, yii Сейчас я расскажу про применение техники TDD для разработки моделей, используя Yii-framework.
Изначально предполагается, что была прочитана тема «Тестирование» из официального мануала (http://yiiframework.ru/doc/guide/ru/test.overview).
Итак, окружение настроено и сейчас нашей задачей будет — создать модели категории и продуктов(Category, Product) и покрыть их тестами.
Оптимизация использования моделей от Active Record, и немного массивов
2012-06-28 в 13:21, admin, рубрики: php, yii, yii framework, метки: PHP, yii, yii framework Сделал я недавно некий тест, который выдал любопытные данные. Коими хочу поделиться, дабы помочь многим прояснит спорные ситуации.
Везде только и пишут, что насколько быстры массивы, насколько медлителен Active Record… Но когда видишь конкретные цифры гораздо легче понимать что на сколько лучше другого.
Используемые материалы:
— обычный ноутбук: Intel core 2 duo 2.13GHz, RAM 6 GB
— php 5.3
— apache 2.2
— framework Yii 1.1.10
— Active Record
Yii: Динамическое изменение правил валидации (сценариев)
2012-06-26 в 20:06, admin, рубрики: cactiverecord, php, yii, валидация, метки: cactiverecord, yii, валидация В данном маленьком топике я хотел бы рассказать об одном очень простом рецепте (который многим из вас, вероятно знаком) в контексте фреймворка Yii. Речь идет о динамическом изменении правил валидации формы — когда правила валидации изменяются в зависимости от выбора пользователя вашего приложения, сделанного, например, путем выбора значения из списка или установленного чекбокса.
Читать полностью »
Разделение конфигураций в Yii по взрослому
2012-06-25 в 10:52, admin, рубрики: php, yii, Программирование, метки: PHP, yii, Программирование Вместо предисловия
Занялся я с недавних пор Yii «по производственной необходимости». До этого сидел на ZF. Некоторые вещи в Yii кажутся неудобными или негибкими. В частности отсутствие раздельное конфигурации и работа с frontend/backend. Правда AR порадовал )). Но о чем это я?!
Ближе к делу
Начнем с самого начала, с удобной и гибкой конфигурации. Разумеется что перед решением по разделению конфигурации для паблик сервера и разработчика я полазил по форумам, посмотрел что пишут на хабре… Но все решения сводятся к определению имени хоста и решения на его основе о нужной конфигурации. Но увольте, есть же тестеры, есть команды разработчиков, есть много еще чего. В общем предлагаемый подход мне не нравится. Предлагаю свое решение по примеру ZF. Все очень просто. Я использую apache, поэтому решение для него. Весть секрет заключается в определении серверной переменной APPLICATION_ENV, а все остальное как везде.
Yii расширяем CHtml для работы с текстовыми полями
2012-06-13 в 10:39, admin, рубрики: yii, метки: yiiВсем привет. Сейчас занимаюсь написанием очередного проекта на Yii и хотел бы поделиться кое-какими наработками. В этой статье я хотел бы описать, каким образом можно расширять функциональность фреймворка с помощью наследования классов CHtml, CActiveForm. Тут нет ничего сложного и инновационного, я просто хотел бы поделиться этим. Моя задача состояла в том, чтобы создать 2 элемента:
- Текст, который при нажатии превращается в input
- Блок, имеющий определенную ширину, в который может не поместиться весь необходимый текст, но при наведении появляется подсказка
Вот пример результата работы следующего кода (код после хабраката):