reflection/validator

定义PHP实体的规范并检查特定项目是否符合它。

1.0.1 2018-04-02 16:06 UTC

This package is auto-updated.

Last update: 2024-08-23 17:09:40 UTC


README

Build Status Code coverage Quality Score Total Downloads Latest Stable Version License

在什么情况下可能会很有用?

有时你可能希望有一个无限的方法序列,这些方法不能通过接口来限制/控制。在这种情况下,在“编译”阶段,你可以限制这些方法遵循你期望的标准。

来自Drupal/Symfony世界的真实示例: http://cgit.drupalcode.org/form_alter_service/tree/src/FormAlterCompilerPass.php

示例

除了完全可操作的示例,你还可以检查一个快速用例

(new MethodValidator(object<ReflectionMethod>, string<FQCN>))
    ->addArgument(
        (new ArgumentSpecification('form'))
            ->setType('array')
            ->setOptional(false)
            ->setPassedByReference(true)
    )
    ->addArgument(
        (new ArgumentSpecification('formState'))
            ->setType(Iterator::class)
            ->setOptional(false)
            ->setPassedByReference(false)
    );