dkplus/base

此包已被弃用且不再维护。没有建议的替代包。

其他 zf2-modules 的实用工具

0.2.0 2013-02-27 13:52 UTC

This package is auto-updated.

Last update: 2019-02-20 19:59:27 UTC


README

其他 zf2 模块的实用工具

控制器插件

NotFoundForward

当用户查找数据库中不存在的项目时,你可能不想显示默认的 404 未找到页面,而是显示一个特定的页面。NotFoundForward 插件可能有助于此,因为它通过扩展原始 Forward 插件 2 个点来实现。首先,它设置 404 状态码,所以你不需要担心这一点,因为如果出现 404 状态码,则将触发 RouteNotFoundStrategy,该插件还设置 RouteNotFoundStrategy 的模板为 viewModel 的模板,因此你的模板无论如何都会渲染。此外,它还可以在你需要视图中的 MatchedRouteName 时帮助你,例如当你使用分页器时。你可以将 MatchedRouteName 作为插件的第三个参数传递,它将把它放入 RouteMatch。

一个例子

class MyController
{
    // […]

    public function editAction()
    {
        $entity = $this->service->find($this->params()->fromRoute('id'));
        if (!$entity) {
            return $this->notFoundForward('MyController', array('action' => 'index'), 'my-route');
        }

        // […]

    }
}

视图助手

FlashMessenger

FlashMessenger 视图助手提供了对 FlashMessenger 控制插件读取访问。

一些例子

显示当前请求中设置的属于 404-not-found 命名空间的每条消息

foreach ($this->flashMessenger('404-not-found')->getCurrentMessages() as $message) {
    print $this->escapeHtml($message) . '<br>';
}

显示属于 error 命名空间的每条消息

foreach ($this->flashMessenger('error')->getMessages() as $message) {
    print $this->escapeHtml($message) . '<br>';
}