sebaks / zend-mvc-controller
此包的最新版本(0.1.9)没有可用的许可信息。
0.1.9
2017-03-22 10:47 UTC
Requires
- php: >=5.5
- sebaks/controller: ~0.1.0
- zendframework/zend-http: <2.6 >=2.4
- zendframework/zend-modulemanager: <2.6 >=2.4
- zendframework/zend-mvc: <2.6 >=2.4
- zendframework/zend-view: <2.6 >=2.4
Requires (Dev)
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ^2.3
README
Zend MVC控制器实现
这是基于sebaks/controller的Zend MVC控制器实现。
大多数控制器必须执行的操作
- 检查该控制器\操作是否可以通过调用方法(GET、POST、PUT等)访问,如果不行,则抛出异常。
- 处理请求(这是sebaks/controller的责任)。
- 验证请求条件。
- 验证请求数据。
- 处理请求(运行任何领域服务)。
- 收集错误。
- 收集结果。
- 如果存在错误,则抛出异常。
- 跳转到下一页(如果已定义)。
- 设置ViewModel。
- 设置MVC事件。
该解决方案允许自定义任何流程参数并提高代码重用率。
安装
-
通过运行以下命令使用composer安装它
composer require sebaks/zend-mvc-controller
-
将
./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, ], ], ], ], ],
criteriaValidator
、changesValidator
- 如果未定义,将创建Sebaks\Controller\EmptyValidator
service
- 如果未定义,将创建Sebaks\Controller\EmptyService
request
- 如果未定义,将创建Sebaks\Controller\Request
response
- 如果未定义,将创建Sebaks\Controller\Response
viewModel
- 如果未定义,将创建Zend\View\Model\ViewModel