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

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

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

Continue reading

Сниппет: инициализация character_set и collation для Doctrine в Symfony

Для того чтобы Doctrine создавал таблицы в базе данных с правильным набором символов и collation (например utf8 и utf8_general_ci, а не latin1, используемый mysql по умолчанию (например)) необходимо выполнить простую инициализацию:

// config/ProjectConfiguration.class.php:
public function configureDoctrine(Doctrine_Manager $manager)
{
  $manager->setCharset( 'utf8' );
  $manager->setCollate( 'utf8_unicode_ci' );
}

Спасибо Андрэю Дзягелю из русскоговорящего symfony-коммьюнити )

Symfony 2.0 – быстрый тур – вид/the view (часть 2)

Вы решили что после прочтения первой части, что стоит потратить на Symfony еще 10 минут? Отлично! Во второй части мы узнаем у системе шаблонов в Symfony. Как вы могли видеть ранее, Symfony использует PHP в качестве шаблонного движка по-умолчанию, добавляет несколько отличных возможностей, что делает его более мощным.

Continue reading

Магические числа и таблицы-справочники в Doctrine/Propel

Кросспост моего хабратопика.

Коль скоро у вас в проекте используется база данных, то вам рано или поздно потребуются справочные таблицы. Такие таблицы я бы условно разбил на три категории:

  1. Небольшие справочники, до 10, реже 20 записей. Например – таблица статусов чего-нибудь (active|inactive|deleted как минимум).
  2. Средние справочники – от 20 до нескольких сотен записей. Например, таблица типов или категорий чего-либо.
  3. Большие справочники – от нескольких сотен до сотен тысяч записей. Например список городов и улиц России.

Справочники, как правило, заполняются разово при создании и крайне редко пополняются. Но тем не менее, пополнение возможно и наиболее вероятно для третьего типа, менее для второго и редко для первого.

Собственно зачем я это пишу:

Continue reading

О «symfony best practices»

Кросспост моего хабратопика.

Nicolas Perriault представлял на SymfonyDay’09 презентацию “30 Symfony Best Practices”. Кое-что из его практик очевидно (было мне известно), кое-что не было. Но есть две практики, которые мне совершенно не видятся как “best”. О них я и хочу поговорить.

Итак:

Continue reading

Вывод неэкранированных (unescaped) данных в symfony 1.3/1.4

Коль скоро в symfony 1.3/1.4 по умолчанию включено экранирование (escaping) всех выводимых данных, вам рано или поздно понадобится вывести что-либо в неэкранированном виде. Судя по постоянным вопросам в коммьюнити, не все могут найти документацию по этому вопросу, поэтому публикую эту небольшую заметку.

Continue reading