Как мне следует спроектировать интерфейс к генератору столбцов SQL на PHP?

StackOverflow https://stackoverflow.com/questions/497679

Вопрос

Я работаю над фреймворком на 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-код должен быть как можно более кратким.
Это было полезно?

Решение

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

Другие советы

Не совсем связанные, но знаете ли вы Продвигать проект ?

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top