Random MySQL date

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

Continue reading

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

Мимоходом потребовалось портировать один “оглобельный” сайт на новую платформу. В принципе самое важное там было – это смена дизайна. HTML + SSI? Но сайт мультиязычный, зараза. Немного скрипта таки придется применить.

В качестве эксперимента портируем 5ти язычный сайт на Silex (который суть есть обезжиренный Symfony2).

Note: english version of this article published on the SymfonyGuru site.

Continue reading

Скрипт для бэкапа mysql баз

Написал для себя простенький скрипт (linux bash) для бэкапа всех баз на одном сервере. Его отличительные особенности:

  • Наличие списка исключений (т.е. бэкапим все кроме…)
  • Получение списка всех БД из MySQL (не надо добавлять вновь созданные базы к бекапу)
  • Создание директории под бэкап вида “…/YYYY/mm/dd/HH-MM/”
  • Бэкап каждой базы в отдельный файл вида “YYYY-mm-dd.HH-MM.databasename.backup.sql” (mysqldump бэкапит все в один файл)
  • Архивирование бэкапа в тарбол
  • Зачистка .sql

Собственно к написанию скрипта меня сподвигло именно то что mysqldump бэкапит все что ему сказано в один файл (если требуется восстановить одну базу, то попробуй ее выцарапай из общего дампа…), а создавать отдельную строку для бэкапа всякой новой БД геморно (об этом как минимум надо вспомнить!).

В общем если интересно – прошу под кат:

Continue reading

Symfony: прячем фильтры в админ-генераторе

Фильтры в админ-генераторе штука хорошая, но всегда думаешь куда бы их пристроить на странице. Если полей в модели больше чем 3-5 это становится проблемой. Предлагаю вашему вниманию небольшой трюк по этому поводу. Нам потребуется JQuery, любимый редактор и немного терпения:

Continue reading

Сниппет: загружаем переменные app.yml из CLI task в symfony

В ходе обсуждения в русскоязычном чате пользователей symfony возник вопрос о загрузке конфигурационных констант из app.yml в контексте CLI таска. Как правило, с теми классами, которые работают из-под приложения (frontend, backend или что там у вас), проблем не возникает. Не зависимо от того на каком уровне расположен app.yml, к нему можно получить доступ стандартными средствами через sfConfig::get().

В тасках же конфигурация уровня приложения не инициализируется, поэтому sfConfig::get('app_some_param') будет возвращать NULL. Немного покопавшись в API родился такой сниппет-скелетон таска: Continue reading

Устанавливаем Git на CentOS

Поскольку в официальном руководстве на GitHub описана установка только для Ubuntu (через Synaptic и apt-get), на коей как водится свет клином не сошелся, предлагаю вашему вниманию небольшой очерк на тему “как установить GIT” на Redhat-совместимом дистрибутиве CentOS при помощи нескольких простых команд:

Continue reading

Добавляем 2 и более IP в CentOS 5 (RHEL, Fedora)

В основном в своей практике я сталкивался с необходимостью использования двух IP на разных сетевых интерфейсах. Как правило это eth0 и eth1. Но вот потребовалось “навесить” на один интерфейс сначала два, а потом и четыре IP. Сделать это оказалось не сложно, но ранее я такой прием не использовал:

Continue reading

Symfony 2.0 – быстрый тур – архитектура/the architecture (часть 5)

Первые 4 части этого руководства позволили составить обще представление о Symfony 2.0. Но они не останавливаются на структуре директорий проекта. Поскольку это одна из отличительных особенностей Symfony, давайте-ка остановимся на этом подробнее.

Continue reading

Symfony 2.0 – быстрый тур – пакеты/the bundles (часть 4)

Обновление от Августа 2016: перевод документации Symfony 2 на русский опубликован в виде бесплатной книги на сайте Leanpub. Узнать подробности.

А вот и вы, мой герой ) Ну кто бы мог подумать, что вы все еще будете с нами после первых трех частей ) Однако же, ваши усилия скоро будут щедро вознаграждены. В этой части мы коснемся пожалуй самой мощной функции Symfony – системы пакетов (bundles).

Continue reading