1

我正在开发一个 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 代码必须尽可能简洁。
4

2 回答 2

1

我建议您创建一个 Column 类,作为构造函数参数,该类可以定义您想要的各种配置点的数组。在每个特定情况下无关紧要的那些你只是没有定义。

于 2009-01-31T02:56:49.727 回答
0

不完全相关,但您知道Propel项目吗?

他们使用 xml 来解释模型,但symfony 项目(使用 propel 作为插件)使用 yaml。

于 2009-01-31T18:55:58.727 回答