lfbn / base-model
这是一个基础模型,可以扩展以定义模型。它有助于处理数据验证和提取数据。
1.0.5
2018-02-25 23:40 UTC
Requires
- php: ^7.1
- monolog/monolog: ^1.23
Requires (Dev)
- jakub-onderka/php-console-highlighter: ^0.3.2
- jakub-onderka/php-parallel-lint: ^0.9.2
- jakub-onderka/php-var-dump-check: ^0.2.0
- mockery/mockery: ^1.0
- phpunit/php-code-coverage: ^6.0
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.2
This package is not auto-updated.
Last update: 2024-09-29 05:21:03 UTC
README
这是一个基础模型,可以扩展以定义模型。它有助于处理数据验证和数据转换。
特性
- 属性验证。除了isNotEmpty外,如果数据为空,则不会验证数据。以下验证器可用:
- isNotEmpty
- isNumeric
- isInteger
- isFloat
- isString
- isBoolean
- isTrue
- isFalse
- isNull
- isNotNull
- isArray
- isEmail
- 将模型转换为数组和JSON,保留隐藏属性。
- 使用数据数组定义属性。
- 可以定义在验证失败时是否抛出异常。
- 可以定义数据是否应该被验证。
安装方法
composer require lfbn/base-model
示例
如何使用它
通过扩展AbstractBaseModel定义您的模型,然后实现一个公开方法getValidationRules。此方法应定义您想要验证的属性。
以下是一个示例
class User extends AbstractBaseModel { /** * @var int */ protected $id; /** * @var string */ protected $name; /** * @var float */ protected $height; /** * @var boolean */ protected $active; /** * @return int */ public function getId(): int { return $this->id; } /** * @param int $id */ public function setId(int $id): void { $this->id = $id; } /** * @return string */ public function getName(): string { return $this->name; } /** * @param string $name */ public function setName(string $name): void { $this->name = $name; } /** * @return float */ public function getHeight(): float { return $this->height; } /** * @param float $height */ public function setHeight(float $height): void { $this->height = $height; } /** * @return bool */ public function isActive(): bool { return $this->active; } /** * @param bool $active */ public function setActive(bool $active): void { $this->active = $active; } /** * @return array */ public function getValidationRules() { return [ ['property' => 'id', 'validator' => 'isNotEmpty'], ['property' => 'id', 'validator' => 'isInteger'], ['property' => 'height', 'validator' => 'isFloat'], ['property' => 'active', 'validator' => 'isBoolean'] ]; } }
如何知道是否有效?
您需要调用validate()
方法
$user = new User(); $user->validate();
我可以使用自己的验证器吗?
是的。只需实现IValidator接口即可。
$user = new User(); $myValidator = new MyValidator(); $user->setValidator($myValidator);
我可以使用自己的转换器吗?
是的。只需实现IConverter接口即可。
$user = new User(); $myConverter = new MyConverter(); $user->setConverter($myConverter);
关于
要求
- 基础模型与PHP 7或更高版本兼容。
运行测试
您可以通过执行以下命令运行测试。在运行这些测试之前,请确保已运行composer install
。
composer test
提交错误和功能请求
错误和功能请求在GitHub上跟踪
许可
基础模型采用MIT许可 - 有关详细信息,请参阅LICENSE
文件