zealproject / zeal-messages
用于显示应用程序消息的简单助手/控制器插件
dev-master
2013-12-27 17:08 UTC
Requires
- php: >=5.3.3
This package is not auto-updated.
Last update: 2024-09-24 06:49:18 UTC
README
本模块提供了一种向用户显示消息的简单方法。它被设计成ZF的flash messenger的替代品,除了flash messenger的功能外,还包括设置不同类型消息(例如,'info'消息、'error'消息)的能力,以及向用户立即显示消息的功能(而不是像flash messenger那样在下一个请求中显示)。
安装
安装此模块的最佳方式是使用Composer(https://getcomposer.org.cn)。将其添加到您的composer.json
"require": {
"zealproject/zeal-messages": "dev-master"
}
然后运行composer install
进行安装。
您还需要编辑您的application.config.php
以将ZealMessages
添加到您的模块数组中。
用法
要从控制器动作添加消息,立即向用户显示消息
$this->messages()->info('Your message here');
或错误消息
$this->messages()->error('Your error message here');
也支持'success'消息。
要添加闪存消息(这些消息将添加到会话中,并在后续请求中向用户显示),用法是
$this->messages()->flashInfo('Your message here');
或
$this->messages()->flashError('Your error message here');
等等。
因此,处理表单数据的控制器动作可能看起来像
public function editAction() { [load data and setup $form] if ($this->getRequest()->isPost()) { $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $data = $form->getData(); if ([code to save $data]) { $this->messages()->flashInfo('Your details were successfully saved'); $this->redirect()->toRoute([some route]); } else { $this->messages()->error('An error occurred saving your details'); } } } return new ViewModel(array( 'form' => $form )); }
渲染消息
该模块包含一个用于渲染消息的视图助手。您通常会将此添加到布局中,在视图内容上方
<?=$this->messages()?>
如果有要显示的消息,它将只输出HTML。
消息将在具有id messages
的div内输出为无序列表(每个类型一个列表),以便于使用CSS样式。每个列表都使用消息类型作为类名,例如
<div id="messages">
<ul class="info">
<li>Your details were successfully saved</li>
</ul>
</div>