Как мне разработать интерфейс для генератора столбцов SQL в PHP? - PullRequest
1 голос
/ 31 января 2009

Я работаю над фреймворком на PHP, часть этой работы по фреймворку - написание кода SQL для генерации новых столбцов MySQL.

Какой самый элегантный способ передать набор параметров для столбца, а затем превратить его в код SQL? В качестве примера приведу пример YAML, который указывает параметры для создания столбца varchar:

- type: character
        data-type:
            type: varchar
            length: 255
            decimals: null
            unsigned: null
            zerofill: null
            collate: utf8_unicode_ci
            character-set: utf8
            binary: false
            spatial-type: null
            values: null
        nullify: true
        default: null
        increment: false
        unique: false
        primary: false
        comment: This is a small general text field.
        format: default
        storage: default

Мои конструктивные ограничения следующие:

  1. YAML не может содержать синтаксис SQL
  2. Код PHP должен быть максимально кратким.

Ответы [ 2 ]

1 голос
/ 31 января 2009

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

0 голосов
/ 31 января 2009

Не имеет общего отношения, но знаете ли вы проект Propel ?

Они используют xml для объяснения модели, но проект symfony (который использует propel в качестве плагина) использует yaml.

...