phpro/zf-smartcrud

此包已被废弃,不再维护。未建议替代包。

用于在ZF2 MVC层创建smartcrud的模块。

安装数: 1,133

依赖者: 0

建议者: 0

安全: 0

星标: 4

关注者: 6

分支: 4

开放问题: 0

类型:zf-module

v0.3.4 2016-01-19 10:09 UTC

This package is not auto-updated.

Last update: 2023-04-14 06:46:26 UTC


README

仓库于2020-11-27被废弃

由于我们不再内部使用此仓库,已将其存档。请随意使用,我们将不再提供任何支持。

Zend Framework的SmartCrud

主分支: 构建状态 开发主分支: 构建状态

提供用于与Zend Framework 2 MVC层协同工作的SmartCrud模块。

安装

此模块的安装使用composer。有关composer文档,请参阅getcomposer.org

php composer.phar require phpro/zf-smartcrud
# (When asked for a version, type `dev-master`)

然后添加Phpro\SmartCrud到您的config/application.config.php

不使用composer的安装不受官方支持,并且需要您手动安装composer.json中列出的所有依赖项。

文档

配置

可以在多个位置配置smartcrud服务。例如,对于列表服务,配置将按以下方式合并

  • phpro-smartcrud-service['default']
  • phpro-smartcrud-service['default-list']
  • service_manager['my-custom-smartcrud-service']['default']
  • service_manager['my-custom-smartcrud-service']['list']

这意味着可以指定一些默认配置,并覆盖自定义服务的配置。

SmartCrud 配置

网关

可以配置多个数据源网关。这些网关由服务用于加载数据和保存数据。

'phpro-smartcrud-gateway' => array(
    'smartcrud.gateway.doctrine.default' => array(
        'type' => 'PhproSmartCrud\Gateway\DoctrineCrudGateway',
        'options' => array(
            'object_manager' => 'doctrine.documentmanager.odm_default',
        ),
    )
),

服务

'phpro-smartcrud-service' => array(
    'SmartCrudServiceKey' => array(
        'default' => array(
            'gateway' => 'smartcrud.gateway.doctrine.default',
            'entity-class' => 'entity-key',
            'form' => 'form-key',
            'listeners' => []
        ),
    ),
),
列表服务

列表服务有一些额外的可配置选项。需要指定分页器,可选地添加查询提供者以过滤/排序列表。

分页器

'phpro-smartcrud-service' => array(
    'default-list' => array(
        'options' => array(
            'paginator' => array(
                'adapter_class' => '\Zend\Paginator\Adapter\ArrayAdapter',
                'page_size' => 50,
                'page_key' => 'page',
            ),
        )
    )
),

查询提供者

查询提供者实现了QueryProviderInterface接口。可以向列表服务添加自己的查询提供者

'phpro-smartcrud-service' => array(
    'default-list' => array(
        'options' => array(
            'query-provider' => 'servicemanager.key.my-custom-query-provider',
        ),
    )
),
监听器

服务管理器键的数组,这些键返回 EventListenerAggregateInterface。这些监听器可以用来监听实体的 SmartCrud 事件。

可用的 SmartCrud 事件
CrudEvent::BEFORE_LIST
CrudEvent::AFTER_LIST
CrudEvent::BEFORE_DATA_VALIDATION
CrudEvent::BEFORE_CREATE
CrudEvent::AFTER_CREATE
CrudEvent::INVALID_CREATE
CrudEvent::BEFORE_READ
CrudEvent::AFTER_READ
CrudEvent::BEFORE_UPDATE
CrudEvent::AFTER_UPDATE
CrudEvent::INVALID_UPDATE
CrudEvent::BEFORE_DELETE
CrudEvent::AFTER_DELETE
CrudEvent::INVALID_DELETE
CrudEvent::BEFORE_VALIDATE
CrudEvent::AFTER_VALIDATE
CrudEvent::FORM_READY

控制器

可以为默认控制器配置指定一些默认设置,并为其自定义控制器覆盖这些设置。配置将按照以下顺序合并

  • phpro-smartcrud-controller['default']
  • phpro-smartcrud-controller['my-custom-smartcrud-controller']
'phpro-smartcrud-controller' => array(
    'default' => array(
        'view-builder' => 'Phpro\SmartCrud\View\Model\ViewModelBuilder',
    )
    'SmartCrudControllerKey' => array(
        'controller' => 'Phpro\SmartCrud\Controller\CrudController',
        'identifier-name' => 'identifier',
        'smart-service' => 'SmartCrudServiceKey',
        'view-builder' => 'Phpro\SmartCrud\View\Model\ViewModelBuilder',
        'view-path' => 'path',
    ),
),

更多功能即将推出!