phpro/zf-annotated-forms

此软件包已被弃用且不再维护。未建议替代软件包。

v0.1.2 2015-04-02 08:21 UTC

This package is not auto-updated.

Last update: 2023-06-12 06:10:27 UTC


README

仓库弃用 2020-11-27

由于我们不再内部使用此仓库,它已被存档。您可以自由使用,我们不会再提供任何支持。

安装

添加到 composer.json

"phpro/zf-annotated-forms": "dev-master"

添加到应用程序配置

return array(
    'modules' => array(
        'Phpro\\AnnotatedForms',
        // other libs...
    ),
    // Other config
);

配置文件

module.zf-annotated-forms-global.dist.php 复制到您的应用程序配置自动加载目录。您可以根据需要调整此文件并设置默认值。您还可以在模块配置中声明 annotated_forms

表单配置

return array(
    'annotated_forms' => array(
        'form-key' => array(
            'initializers' => array(),
            'listeners' => array(),
            'cache' => null,
            'cache_key' => 'cached-form-key',
            'entity' => '',
        ),
    ),
);

initializers: 返回 InitializerInterfaces 的服务管理器键的数组。这些初始化器用于向表单元素注入依赖项。

listeners: 返回 EventListenerAggregateInterface 的服务管理器键的数组。这些监听器可以用于调整表单。

cache: 返回 Cache\StorageInterface 的服务管理器键。此缓存存储用于保存解析后的注释。如果不希望使用缓存,则可以将其留为 null

cache_key: 在缓存定位器中保存解析配置的缓存键。如果不希望使用缓存,则可以将其留为 null

entity: 包含表单注释的类的名称。

加载表单

现在您可以使用服务管理器检索您的表单。在上面的配置示例中,您可以使用

$serviceManager->get('form-key');

配置缓存

在配置缓存存储时,请注意以下几点

  • 默认禁用异常
  • 添加序列化器
  • 如果构建应用程序后清除缓存,则表单的 ttl 可以是无限的

示例配置

'caches' => [
    'Cache\AnnotatedForms' => [
        'adapter' => [
            'name' => 'redis',
            'options' =>  [
                'namespace' => 'zf-annotated-forms',
                'server' => [
                    'host' => '127.0.0.1',
                    'port' => '6379',
                ],
                'ttl' => 86400 // 1 day
            ],
        ],
        'plugins' => [
            'exception_handler' => [
                'throw_exceptions' => false,
            ],
            'serializer',
        ],
    ],
],