Author Archives: hudson

Random MySQL date

В этой статье рассмотрим несколько вариантов получения случайной даты в MySQL. Для чего это нужно? Ну к примеру для генерации фикстур и прочих тестовых данных, чтобы были похожи на реальные.

Posted in Профессиональное | Tagged , | 4 Comments

Silex – просто добавь воды?!

Мимоходом потребовалось портировать один “оглобельный” сайт на новую платформу. В принципе самое важное там было – это смена дизайна. HTML + SSI? Но сайт мультиязычный, зараза. Немного скрипта таки придется применить. В качестве эксперимента портируем 5ти язычный сайт на Silex (который суть есть обезжиренный Symfony2). Note: english version of this article published on the SymfonyGuru [...]

Posted in Профессиональное | Tagged , , , , | 6 Comments

PhpStorm: поддержка Symfony Command Line

Начиная с PhpStorm 2.0 можно использовать Symfony command line tool при помощи Command Line Tool Support. Ниже приводится небольшое руководство по использованию. Вам понадобится PhpStorm 2.0 и Symfony 1.1 или более поздней версии (включая Symfony 2.0 BETA – в оригинальное руководство не входило, но мной проверено). Если у вас нет Symfony, руководство по установке вы [...]

Posted in Профессиональное | Tagged , , , , | 9 Comments

Вопрос-ответ: какие системы тестирования web-сайтов существуют

Поступил мне недавно вопрос от бывшего коллеги: какие системы тестирования web-сайтов существуют? Конечно дать исчерпывающий ответ в одном письме пожалуй невозможно, да и отошел я в последнее время от тестирования. Но тем не менее по этому вопросу можно сказать следующее.

Posted in Профессиональное | Tagged , , | 2 Comments

Assembla: несколько SSH ключей для разных проектов под одним пользователем

Небольшой хинт по использованию нескольких ключей (для различных проектов) для одного пользователя при работе с git.assembla.com в linux.

Posted in Профессиональное | Tagged , , , | 2 Comments

Symfony2 book: Основы Symfony2 и HTTP / Symfony2 and HTTP Fundamentals

Данный перевод главы Symfony2 and HTTP Fundamentals публикуется с разрешения автора: Канат Гайлимов Web-разработчик, блогер http://gailimov.info Поздравляем! Изучая Symfony2, вы становитесь на правильный (истинный) путь и будете более продуктивным, всесторонним и популярным веб-разработчиком (на самом деле, 2 последних пункта на ваше усмотрение). Symfony2 построен так, чтобы вернуться к основам: разработаны инструменты, которые позволят вам разрабатывать [...]

Posted in Профессиональное | Tagged , , , , | 8 Comments

Symfony2 book: Основы создания страниц / The Basics of Page Creation

Создание новой страницы в Symfony2 это простой процесс, состоящий из 2 шагов: Создание маршрута: Маршрут определяет URI (например /about) для вашей страницы, а также контроллер (PHP функция), который Symfony2 должен выполнить, когда URI входящего запроса совпадет шаблоном маршрута; Создание контроллера: Контроллер – это PHP функция, которая принимает входящий запрос и трансформирует его в объект Response [...]

Posted in Профессиональное | Tagged , , , , | 15 Comments

Doctrine2: эмулируем timestampable behavior через lifecycle callback

Ниже рассмотрим простой, но имхо нужный пример по реализации аналога timestampable в Doctrine2.

Posted in Профессиональное | Tagged , , , , | 5 Comments

Symfony2: аналог preExecute() для контроллера

Я думаю многих смущает отсутствие preExecute в стандартном контроллере Symfony2. Ниже я приведу возможное решение данного вопроса при помощи внедрения зависимости через Service Container (Оригинал подсмотрен у Szymon Szewczyk). UPDATE 20 января 2012: статья обновлена в соответствии с современными реалиями SF 2.0.9 (фактически изменения коснулись именования тага и события)

Posted in Профессиональное | Tagged , , , | 18 Comments

Осторожно! Злой “bad behavior”

Две недели назад включил антиспам-фильтр bad behavior. Спам как ветром сдуло. Также как и доступ для googlebot. Трафик с Google за две недели упал в 4-5 раз. Написал реквест разработчику с просьбой помочь, но не уверен в результате. Вот наглядный пример: bad behavior блокирует доступ к sitemap.xml (генерируемый при помощи XML-Sitemp plugin): В общем, как [...]

Posted in Профессиональное | Tagged , , | Leave a comment