creof/doctrine2-namespace-namingstrategy

将类命名空间集成到名称中的Doctrine2命名策略

dev-master 2013-11-06 23:54 UTC

This package is auto-updated.

Last update: 2024-09-08 05:12:00 UTC


README

高度可配置的将类命名空间集成到名称中的Doctrine2命名策略。此类以可预测的方式生成名称,无需考虑数据库模式即可命名对象。这对于处理具有类名重复的大型分层实体图非常有用。

安装

composer

将 "creof/doctrine2-namespace-namingstrategy" 包添加到您的 composer.json 文件中。

其他

使用方法

Doctrine

要使用命名方案,需要创建一个新实例并将其传递给实体管理器配置对象。

Symfony

在您的应用配置中创建一个服务,并将其传递给Doctrine实体管理器

# Doctrine Configuration
doctrine:
    orm:
        naming_strategy: namespace_naming_strategy

services:
    namespace_naming_strategy:
        class: CrEOF\Doctrine\ORM\Mapping\NamespaceNamingStrategy
        arguments:
            config:
                entityNamespaces:
                    - "Acme\Bundle\AcmeBundle"
                trimAbstract: true

要使用类常量,您需要在XML中定义该服务或在代码中查找整数值。

配置

NamespaceNamingStrategy构造函数接受一个数组,包含以下选项之一或多个:

  • trimAbstract - 从以 "Abstract" 开头的所有类名中移除 "Abstract"。默认为 false。

  • entityNamespaces - 包含实体类根(一个或多个)的数组。这些根将从生成的名称中移除。

  • namespaceSeparator - 生成名称时用于分隔命名空间路径组件的字符串。默认为 "_"(下划线)。

  • joinColumnSeparator - 用于分隔引用列名和属性名的字符串。默认为 ""(空)。

  • joinTableSeparator - 生成连接表名称时用于分隔实体名称的字符串。默认为 "_"(下划线)。

  • trimFallback - 两个FALLBACK类常量之一。此设置定义当找不到实体Namespaces中匹配的命名空间时行为。

  • case - 三个CASE类常量之一。此设置定义名称是否以混合、小写或大写形式生成。

  • referenceColumnName - 这定义了在生成引用列名时使用/连接的名称。默认为 "id"。

  • joinColumnOrder - 两个ORDER类常量之一。这定义了引用列名是前置还是后置到实体名称。

  • joinTableOrder - 与joinColumnOrder相同,但对于连接表。

  • splitCamelCase - 与camelCaseSeparator一起使用。当为true时,将使用分隔符拆分驼峰式名称。默认为 false。

  • camelCaseSeparator - 当splitCamelCase为true时用于拆分驼峰式单词的字符串。默认为 ""(空)。

注意事项

这是一个正在进行中的项目,可能不适合生产环境。自行承担风险。