tuscanicz/doctrine-enum-oracle

Oracle中的枚举数据类型的Doctrine类型。

1.0.2 2017-06-22 15:17 UTC

This package is auto-updated.

Last update: 2024-08-27 07:48:40 UTC


README

一个抽象类,定义了Oracle中枚举数据类型的新Doctrine类型。

依赖于 tuscanicz/enum 和 Doctrine 2 doctrine/orm

如何使用

使用 tuscanicz/enum 准备一个新的枚举

<?php

namespace MyApp\Enum;

use Enum\AbstractEnum;

class MyExampleEnum extends AbstractEnum
{
    const MY_EXAMPLE_ENUM_FIRST = 'first';
    const MY_EXAMPLE_ENUM_SECOND = 'second';
    const MY_EXAMPLE_ENUM_THIRD = 'third';
}

MyApp\Component\Doctrine\Type 命名空间中创建一个新的类型 MyExampleType 并继承 AbstractEnumType

<?php

namespace MyApp\Component\Doctrine\Type;

use Doctrine\DBAL\Platforms\AbstractPlatform;
use DoctrineEnumOracle\AbstractEnumType;
use MyApp\Enum\MyExampleEnum;

class MyExampleType extends AbstractEnumType
{
    public function getEnumClassName()
    {
        return MyExampleEnum::class;
    }
}

如何在Symfony中使用它

配置新的类型(config.yml)

doctrine:
    dbal:
        types:
            MyExampleType: 'MyApp\Component\Doctrine\Type\MyExampleType'

如何在Zend Framework中使用它

配置新的类型(config.php)

'doctrine' => [
    'configuration' => [
        'orm_default' => [
            'types' => [
                'my_example_type' => 'MyApp\Component\Doctrine\Type\MyExampleType',
            ]
            ...
        ]
        ...
    ]
    ...
]

就这样!

现在你可以尝试生成一个新的迁移或模式差异。