phpro / zf-smartcrud
此包已被废弃,不再维护。未建议替代包。
用于在ZF2 MVC层创建smartcrud的模块。
v0.3.4
2016-01-19 10:09 UTC
Requires
- php: >=5.3.3
- symfony/console: 2.*
- zendframework/zend-config: 2.*
- zendframework/zend-eventmanager: 2.*
- zendframework/zend-form: 2.*
- zendframework/zend-http: 2.*
- zendframework/zend-modulemanager: 2.*
- zendframework/zend-mvc: 2.*
- zendframework/zend-servicemanager: 2.*
- zendframework/zend-session: 2.*
- zendframework/zend-stdlib: 2.*
- zendframework/zend-version: 2.*
- zendframework/zend-view: 2.*
Requires (Dev)
- bjyoungblood/bjy-authorize: 1.3.*
- doctrine/doctrine-mongo-odm-module: 0.8.*
- doctrine/doctrine-orm-module: 0.8.*
- fabpot/php-cs-fixer: ~1.5.0
- phpspec/phpspec: ~2.0.1
- rwoverdijk/assetmanager: ~1.3.5
- zendframework/zend-db: 2.*
- zendframework/zend-permissions-acl: 2.*
Suggests
- doctrine/doctrine-mongo-odm-module: If you want to use the Doctrine ODM Gateway
- doctrine/doctrine-orm-module: If you want to use the Doctrine ORM Gateway
- rwoverdijk/assetmanager: ~1.3.5
- zendframework/zend-db: If you want to use the Zend DB Gateway
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', ), ),
更多功能即将推出!