sebaks/zend-mvc-controller

此包的最新版本(0.1.9)没有可用的许可信息。

0.1.9 2017-03-22 10:47 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:58:37 UTC


README

Build Status codecov.io

Zend MVC控制器实现

这是基于sebaks/controller的Zend MVC控制器实现。

大多数控制器必须执行的操作

  1. 检查该控制器\操作是否可以通过调用方法(GET、POST、PUT等)访问,如果不行,则抛出异常。
  2. 处理请求(这是sebaks/controller的责任)。
  3. 验证请求条件。
  4. 验证请求数据。
  5. 处理请求(运行任何领域服务)。
  6. 收集错误。
  7. 收集结果。
  8. 如果存在错误,则抛出异常。
  9. 跳转到下一页(如果已定义)。
  10. 设置ViewModel。
  11. 设置MVC事件。

该解决方案允许自定义任何流程参数并提高代码重用率。

安装

  1. 通过运行以下命令使用composer安装它

    composer require sebaks/zend-mvc-controller
  2. ./vendor/sebaks/zend-mvc-controller/config/sebaks-zend-mvc-controller.global.php.dist复制到./config/autoload/sebaks-zend-mvc-controller.global.php

配置

您可以使用路由参数配置该控制器

'router' => [
    'routes' => [
        'user-update-profile' => [
            'type' => 'Segment',
            'options' => [
                'route'    => '/profile/update',
                'defaults' => [
                    'controller' => 'sebaks-zend-mvc-controller',
                    'allowedMethods' => ['POST'],
                    'criteriaValidator' => Users\Action\Profile\CriteriaValidator::class,
                    'changesValidator' => Users\Action\Profile\ChangesValidator::class,
                    'service' => Users\Action\Profile\Updater::class,
                    'request' => Sebaks\Controller\RequestInterface::class,
                    'routeCriteria' => 'id'
                    'response' => Sebaks\Controller\ResponseInterface::class,
                    'redirectTo' => 'admin-user-list',
                    'viewModel' => Users\User\ViewModel::class,
                ],
            ],
        ],
    ],
],

criteriaValidatorchangesValidator - 如果未定义,将创建Sebaks\Controller\EmptyValidator
service - 如果未定义,将创建Sebaks\Controller\EmptyService
request - 如果未定义,将创建Sebaks\Controller\Request
response - 如果未定义,将创建Sebaks\Controller\Response
viewModel - 如果未定义,将创建Zend\View\Model\ViewModel