creof / doctrine2-namespace-namingstrategy
将类命名空间集成到名称中的Doctrine2命名策略
Requires
- php: >=5.3.2
- doctrine/orm: >=2.3
Requires (Dev)
- doctrine/common: >=2.3
- doctrine/dbal: >=2.3
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时用于拆分驼峰式单词的字符串。默认为 ""(空)。
注意事项
这是一个正在进行中的项目,可能不适合生产环境。自行承担风险。