Первый пост о Symfony2

Около 2х месяцев назад я начал изучать фреймворк Symfony2. Просто хотелось посмотреть что-то новое, разобраться с Doctrine2 и перейти на php 5.3.

В результате получился небольшой учебный проект, на базе которого я планирую наконец доделать портфолио студии.
Continue reading

PHPUnit и покрытие кода (Source code coverage)

Это третья заметка о continuous integration (CI). В ней я затрону такое понятие как покрытие кода. Это одна из мер качества ПО, которая отображает какой процент исходного кода проверяется при запуске тестов.

Continue reading

Непрерывная интеграция ZF проекта при помощи Hudson & Phing

Дальнейшим этапом развития моих отношений с CI стала настройка выполнения юнит тестов в Zend Framework проекте при деплойменте через Phing, а также последующее отображение результатов в Hudson.
Continue reading

Правильный bootstrap в TestCase для контроллеров

Наткнулся на ошибку в ControllerTestCase, код которого фигурирует во многих примерах для unit тестирования контроллеров в ZF. Я сам его приводил в обсуждении unit тестов на zendframework.ru. Как я понял ошибка появилась после 1.9 (хотя здесь я могу ошибаться).
Continue reading

phpcpd (php copy paste detector) & Phing & Hudson

Решил довнедрять в повседневную жизнь связку hudson+phing, которую мы начали внедрять ещё после Symfony Camp UA 2010 и как-то этот процесс затянулся. Попутно напишу несколько заметок для закрепления материала.

Начну с phpcpd

phpcpd — утилита написанная Себастьяном Бергманом (автором PHPUnit), основное предназначение которой поиск copy-past кода.
Её исходники доступны на github. Там же есть руководство по установке и использованию.
Continue reading

Отчет о конференции ZFConf Ukraine 2010

Вчера в КиевЭкспоПлазе проходила совместная конференция ZFConf Ukraine & MageConf. Было 4ре потока: один наш (по Zend Framework) и три от MageConf (PHP, Magento, MIX).

Фото после конференции
Также смотрите другие фото от Жени Македона.

Много людей не поняли этого момента и воспринимали тот-же поток Magento как часть конференции ZFConf Ukraine:

#zfconf #zfconfua Доклад по скраму никак не может разродиться подключением проектора

#zfconfua вы обновили мадженто и юнит-тесты упали, но черт побери, почему же это плохо?

#zfconfua Виталий Коротун начал PHP секцию. Слушаем 🙂

Ребята, это были разные конференции :).

А вобще очень радует, что большинство твитов позитивные. Это стимулирует проводить ZFConf Ukraine в дальнейшем. Также мы будем стремиться сделать её ещё лучше ;).

ИМХО

Выскажу свое мнение о докладах:

  • Встречайте Zend Framework 2.0 (Александр Веремьев) — отлично. Мне было интересно услышать именно эту инфу именно в такой подаче.
  • Эволюция ZF: архитектура, шаблоны, рефакторинг (Виктор Фараздаги) — очень сильный доклад. Виктор молодец :). Он за 45 минут понятным языком рассказал о довольно сложных и важных вещах, которые нужно знать каждому разработчику.
  • Юнит тестирование в Zend Framework 2.0 (Ростислав Михайлив) — тоже хороший доклад. Кроме юнит тестов была затронута тема функциональных тестов.
  • Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социальной сети starlook.ru (Кирилл Мокевнин) — на доклад я не успел, но на вопросы Кирилл отвечал уверенно.
  • Doctrine 2 (Валерий Рабиевский) — доклад мне понравился и судя по твитам не только мне 🙂
  • NoSQL и Zend Framework (Никита Грошин | Ростислав Михайлив) — тема интересная, доклады тоже. На мой взгляд был перебор с не нормативной лексикой, но мне было интересно как это воспримет публика и я не вмешивался.

Немного цифр

На участие в совместной конференции зарегистрировалось почти 950 людей. Подтвердили участие больше 750. По предварительной оценке конференцию посетили порядка 650 человек.
Большую роль в привлечении участников на конференцию сыграли соц. медиа, а именно habrahabr.ru и twitter.com.

Итог

Было хорошо. И хорошо что было 🙂

Вместе с коллективом :)

LiveStreet. Плагин “SEO”

красивая картинка, которая должна ассоциироваться с продвижением :)Хочу анонсировать плагин “SEO”, который поможет оптимизировать структуру вашего сайта для поисковых систем.

Сразу оговорюсь, что плагин абсолютно бесплатен и распространяется по лицензии GNU GPL. Его можно скачать из каталога расширений (пока он на модерации, доступна копия на рапиде). В архиве есть описание функционала и инструкция по установке.

Функционал

На данный момент реализован самый базовый функционал, а именно генерация уникальных meta тегов keywords и description для главной страницы, блогов, топиков, топа и т.д. Также в футере сайта, в зависимости от страницы, выводится текст который должен повысить частоту ключевых слов на странице.

Плагин работает на двух наших сайтах и мы думаем, что доля трафика с поисковых систем растет во многом благодаря ему :).
Для затравки покажу общий график роста посещаемости Кукорамы (плагин был подключен больше месяца назад, наблюдаю стабильный рост порядка 30%):
график роста посещаемости на cookorama.net
Continue reading

Совместная конференция ZFConf Ukraine & MageConf

Хочу поделиться анонсом конференции ZFConf Ukraine 2010 одним из организаторов которой я являюсь :).

27го ноября в Киеве пройдет совместная конференция ZFConf Ukraine & MageConf.

Цель конференции объединить лучших специалистов PHP и Zend Framework Украины, России и других стан СНГ.
ZFConf Ukraine – первая в Украине конференция по Zend Framework, проводится в партнерстве с ZFConf Russia и сообществом zendframework.ru. Регистрируясь на одну конференцию, вы автоматически получаете доступ и на другую.

Доклады и Докладчики:
Continue reading

LiveStreet. Обновление плагина “Sitemap” до версии 0.2


Около двух недель назад я выпустил обновление к плагину Sitemap для LiveStreet. Сегодня решил продублировать анонс в своем блоге :).

Что нового в версии 0.2?

  • Основательный рефакторинг кода плагина. Теперь все действия которые производят с наборами сущностей или свойствами сущностей другие плагины отображаются в генерируемых sitemap’ах. Для примера плагин NiceUrl изменяет url записей и в sitemap топиков выводятся url измененные плагином NiceUrl (т.е. есть поддержка NiceUrl).
  • Изменены ссылки в sitemap.xml в соответсвии с рекомандациями опубликованными на странице http://sitemaps.org/ru/protocol.php#location. Теперь они выглядят так как будто файлы sitemap’ов расположены в корне сайта.
  • Добавлены XSLT шаблоны для удобного просмотра sitemap в окне браузера.
  • Все основные настройки вынесены в конфиг плагина. Это время жизни кеша для наборов записей, приоритеты страниц, вероятная частота изменений страниц.
  • Добавлена возможность интеграции для сторонних плагинов.

Continue reading