ansas/propel-helper

Propel helper - Propel2 ORM 的辅助类(特性)

1.4.0 2019-06-29 15:40 UTC

This package is auto-updated.

Last update: 2024-09-06 13:03:48 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Propel2 ORM 提供辅助类(特性)。

Ansas\Propel\Helper\ReadOnly

此特性是为了解决 Propel 的一个问题,即在 Propel 的 schema.xml 文件中将表设置为 readOnly="true" 后,不能再使用 joinWith() 方法。因此,在方案中不是使表“只读”,而是在您想要设置为只读的每个子模型中添加此特性。

详细信息请见 propelorm/Propel2#629

示例用法

<?php

use Base\User as BaseUser;
use Ansas\Propel\Helper\ReadOnly;

class User extends BaseUser
{
    use ReadOnly;
}

Ansas\Propel\Helper\SimpleVersionableBehavior

默认的“可版本化”行为似乎与关系和与其他行为的组合不太兼容。因此,我编写了一个“简单特性”,该特性不考虑相关表的版本。所有方法都可以像以前一样使用。

使用此特性需要实现以下三件事

  1. 在所需类中使用此特性
  2. 添加以下常量,以包含活动记录类(例如,对于 'Account')的名称
  3. 可选地添加常量以包含列名(在默认 PhpName 表示法中),在填充对象时跳过

示例用法

<?php

use Base\User as BaseUser;
use Ansas\Propel\Helper\SimpleVersionableBehavior;

class User extends BaseUser
{
    use SimpleVersionableBehavior;

    /**
     * Class name for versionable behavior active records
     */
    const VERSIONABLE_CLASS = 'UserVersion';

    /**
     * Column names (in default PhpName notation) to skip when populating this with version entry
     */
    const VERSIONABLE_POPULATE_SKIP_COLUMNS = ['UpdatedAt', 'Version'];
}

Ansas\Propel\Helper\Validation

此特性使得对象的验证变得相当简单。

方法

protected function addValidationError($key, $value, $overwrite = true)
protected function resetValidation()
public function getValidationErrors()
public function hasValidationErrors()
abstract protected function doValidate();

TODO

  • 编写测试

贡献

任何人都可以为此包做出贡献。只需

  1. 将其分支
  2. 进行您的更改,并
  3. 发送拉取请求。

请确保遵循 PSR-1PSR-2 编码规范。

许可

MIT 许可证(有关更多信息,请参阅 LICENSE 文件)。