Объявление типов столбцов (enum, datetime, tinytext, year) для MySQL, которые явно не поддерживаются в Propel 1.3

Запись опубликована (Symfony) от ingvar в 17-08-2008 22:06

В документации Propel можно увидеть таблицы соответствия между ним и типами столбцов MySQL (Propel Column Types). Проблема в том, что не все типы столбцов можно явно указать.
Если попытаться указать поле типа ENUM, то при генерировании SQL получим ошибку:


Cannot map unknown Propel type 'ENUM' ...
Cannot map unknown Propel type 'ENUM' to native database type ..

Похожая ситуация наблюдается и в следующем примере. Например, если в схеме указать нижеследующее, то получим ошибку на счет поля created_at ( Cannot map unknown Propel type ‘DATETIME’ to native database type ):


my_product_i18n:
_attributes: { phpName: ProductI18n }
id:          { type: integer, required: true, primaryKey: true, foreignTable: my_product, foreignReference: id }
culture:     { isCulture: true, type: varchar, size: 7, required: true, primaryKey: true }
name:        { type: varchar, size: 50 }
created_at:  { type: datetime }

Читать дальше

Третье обновление в системе плагинов Symfony

Запись опубликована (Symfony) от Igor в 16-08-2008 23:42

С каждым днем система плагинов становится все лучше. Благодаря отличной обратной связи комьюнити, в течении недели были внесены следующие изменения:

• К плагину можно загрузить рисунок, который выводиться во вкладке “Plugin Information” и используется в RSS.
• Чтобы присоединиться к команде разработчиков плагина теперь нужно указать причину. Ранее это не требовалось. На основании этой информации руководитель плагина может принять или отклонить запрос.
• С главной страницы можно просмотреть плагины по категориям или перейти на список всех плагинов.
• Появилась вкладка “Изменений” (Changelog). Информация добавляется из файла package.xml. В FAQ можно ознакомиться как все это работает.
• Обновили RSS с целью отображение более подробной информации.
• Каждый пользователь представлен через систему gravatar.

Оригинал поста: The plugin system gets better

Symfony и Propel 1.3: реализация своих joins в методах doSelect*

Запись опубликована (Symfony) от Igor в 13-08-2008 01:12

Это решение проблемы для Symfony 1.1 и Propel 1.3, когда нужно из двух таблиц объединенных черех join получить все данные. Т.е. хотим выполнить такой запрос


SELECT news.NEWS_ID, news.CATEGORY_ID, news.TITLE, news.BODY, news.CREATED_AT,
    news_category.CATEGORY_ID, news_category.NAME
FROM `news`
LEFT JOIN news_category ON (news.CATEGORY_ID=news_category.CATEGORY_ID)

А вот с этим проблема, если таблицы не связаны через внешний ключ (foreign key), вывести данные из второй таблицы news_category проблематично, но возможно. В основе материал: Applying custom joins in doSelect* method. Но для новой версии материал не соответствует действительности. Чтобы все заработало, следует сделать следущее.

Читать дальше

Проблема при использовании sfWidgetFormPropelSelect от плагина sfPropelPlugin

Запись опубликована (Symfony) от Igor в 11-08-2008 15:47

sfPropelPlugin это плагин для работы с Propel 1.3. Текущая версия 1.3.0 stable от 28/05/2008. Наткнулся на проблему при использовании виджета sfWidgetFormPropelSelect. Если указать порядок сортировки, то получаем ошибку на экран.

Читать дальше

Стандарты кодирования Symfony

Запись опубликована (Symfony) от Igor в 10-08-2008 12:41

Использую Symfony, я перешел на стандарт кодирования от Symfony, что позволяет писать плагины и работать в едином стиле.
Читать дальше

Symfony: новые возможности системы плагинов

Запись опубликована (Symfony) от Igor в 10-08-2008 11:07

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

Читать дальше

Добавление параметра “метод запроса” в маршрутизацию (routing.yml) в Symfony 1.1

Запись опубликована (Symfony) от Igor в 09-08-2008 14:45

François Zaninotto рассмотрел очень интересную ситуацию, когда в маршрутизацию добавляем обязательный параметр “метод запроса”. Его решение требует модификации кода самой Symfony.

Зачем это надо? Например, когда по одной и той же ссылки требуется выполнять разные действия.

Например, вот что получается:


show_article:
  url: /article/:id
  params: { module: article, action: show }
  requirements: { id: \d+, sf_method: get }

update_article:
  url: /article/:id
  params: { module: article, action: update }
  requirements: { id: \d+, sf_method: post }

delete_article:
  url: /article/:id
  params: { module: article, action: delete }
  requirements: { id: \d+, sf_method: delete }

Подробнее прочитать в Add request method requirement to routing in symfony 1.1.
Изменений коснулись два класса: sfWebRequest и sfPatternRouting, которые можно скачать restful_routing.zip и положить в папочку /lib/.

Symfony: нововведения в новой системе плагинов

Запись опубликована (Symfony) от Igor в 08-08-2008 10:15

Неделю назад была реализована новая система плагинов Symfony. За это время было добавлено 30 новых плагинов, и сделано около 51 обновлений для существующих.

Благодаря обратной связи от пользователей были получены отзывы, на основании которых внесены следующие изменения:

• Редизайн главной страницы плагинов. Теперь с главной можно получить информацию о всех новинках, изменениях. Улучшена система поиска плагинов.

• Добавлены новые RSS каналы: информация о новых плагинах или обновления существующих.

• Документации для некоторых плагинов была доступна только на Wiki, поскольку она не была объединена с плагином. Таким образом, чтобы облегчить переход, со старой информации trac можно воспользоваться ссылкой (http://raw.trac.symfony-project.org/wiki/SymfonyPlugins). Если вы автор плагина, пожайлуста перенести всю вашу документацию в файл плагина README как можно быстрее. Пожалуйста, имейте в виду, что это временная ссылка.

Документация по Symfony

Запись опубликована (Symfony) от Igor в 05-08-2008 10:04

Подборка материалов по Symfony. В основном это материалы для версии 1.1, и следовательно 1.1.1.

Материалы на русском:
Russian Documentation - частично переведенная книга “The Definitive Guide to symfony”, плюс там можно найти ссылки на сайты, где пишут о Symfony
The Cookbook на русском - пока только 2-е статьи

Материалы на английском языке:
• Книга “The Definitive Guide to symfony”
• Книга “The symfony Forms Book” - 4-е главы
The API Documentation
The Cookbook
Snippets
Symfony wiki - статьи, примеры, рекомендации

Уроки (Tutorials)
• Геренарация админки: Symfony: The Admin Generator
• Ajax это легко: Symfony: Easy Ajax
Symfony tutorial: My first symfony project
Sitepoint: Learn symfony: a Beginner’s Tutorial - рекомендую, есть примеры с файлами, тегами, генерацией админки

Symfony, у плагинов появился новый дом!

Запись опубликована (Symfony) от Igor в 01-08-2008 23:38

Плагины в symfony - это самый простой способ внести свой вклад в развитие фреймворка symfony. Плагины легко пишуться, пакуются, устанавливаются и они могут переписать все что угодно в фреймворке.

Читать дальше