szykra/resource-naming-strategy

Doctrine ORM 的资源命名策略

0.1.4 2020-09-30 21:12 UTC

This package is auto-updated.

Last update: 2024-09-29 04:25:36 UTC


README

building codeclimate version license

Doctrine ORM 的资源命名策略

为什么是 资源

这个命名策略遵循对 实体资源 的自然思考方式。想象一下你只有一朵 。这是一个单一实体。你想要存储一些关于 的数据,例如在你的数据库中。它是一个 资源

简单吗?我知道将资源命名为 flower 听起来更容易,但有时它可能会更令人困惑。最后,你有很多花,而不仅仅是一朵。

这个策略与 Laravel 命名约定类似(参见映射部分)。

要求

此包使用 icanboogie/inflector,并需要 mbstring php 扩展。

安装

通过 composer 安装

将依赖项添加到你的 composer.json 文件中,并运行 composer update

"require": {
    "szykra/resource-naming-strategy": "~0.1"
}

使用

与 Doctrine 一起使用

$namingStrategy = new \Szykra\NamingStrategy\ResourceNamingStrategy();
$configuration()->setNamingStrategy($namingStrategy);

与 Symfony 一起使用

你可以有两种方式使用这个命名策略

AppKernel.php 中注册包

只需打开你的 AppKernel.php 文件,并注册包含服务定义的新 symfony 包。

$bundles = array(
    ...
    new Szykra\NamingStrategy\ResourceNamingBundle\ResourceNamingBundle()
);

现在你可以在 config.yml 中配置 Doctrine 以使用新的命名策略。

doctrine:
    orm:
        naming_strategy: szykra.naming_strategy.resource_naming_strategy

定义自己的服务

如果你不想注册额外的包,你可以在 services.yml 中创建自己的服务定义。

services:
    app.naming_strategy.resource:
        class: Szykra\NamingStrategy\ResourceNamingStrategy

别忘了配置 Doctrine 以使用此服务。

映射

实体到表名称

小写且复数

属性到列名称

小写字母,单词之间用下划线分隔

嵌入字段到列名称

小写字母,单词之间用下划线分隔

连接列名称

小写字母,单词之间用下划线分隔,后缀为 _id

连接表名称

两个单数小写实体名称,按升序排列,单词之间用下划线分隔

许可证

MIT 许可证。版权所有 © 2015 - 2020 Szymon Krajewski。