我在 Zend Framework 2 中使用 flash messenger 插件。我可以在控制器的操作中设置消息,这没问题:
$this->flashMessenger()->addMessage('You are now logged in.');
但是当我尝试在视图中调用它时,正如 Zend Framework 官方文档(https://framework.zend.com/manual/2.3/en/modules/zend.view.helpers.flash-messenger. html),我得到一个错误:
Fatal error: Class 'Zend\Mvc\Controller\Plugin\FlashMessenger' not found in /Applications/XAMPP/xamppfiles/htdocs/zend/vendor/zendframework/zend-view/src/Helper/Service/FlashMessengerFactory.php on line 33
我阅读了文档,在使用它之前没有找到任何有关初始化的信息。我能做的是将消息传递给视图,但如果文档说可以在视图中使用插件,我宁愿像那样使用它,而不是将消息数组传递给视图。
该模块也列在我的 modules.config.php 中:
return [
'Zend\ServiceManager\Di',
'Zend\Session',
'Zend\Mvc\Plugin\Prg',
'Zend\Mvc\Plugin\Identity',
'Zend\Mvc\Plugin\FlashMessenger',
'Zend\Mvc\Plugin\FilePrg',
'Zend\Mvc\I18n',
'Zend\Mvc\Console',
'Zend\Log',
'Zend\Form',
'Zend\Db',
'Zend\Cache',
'Zend\Router',
'Zend\Validator',
'Album',
'Application',
'User',
];