Я создаю класс в / module / Application / src / View / Helper / Messages
Код:
<?php
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
class Messages extends AbstractHelper {
public function __construct() {
}
protected function renderErrorMessages($item) {
echo "!!!";
}
}
Добавьте его в module.config.php Код:
....
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
Controller\UserController::class => InvokableFactory::class,
],
],
'view_helpers' => [
'factories' => [
View\Helper\Messages::class => InvokableFactory::class,
],
'aliases' => [
'messages' => View\Helper\Messages::class
]
],
'view_manager' => [
'display_not_found_reason' => true,
'display_exceptions' => true,
На странице login.phtml я вставляю код:
...
<?php echo $this->Messages()->renderErrorMessages(); ?>
...
и получаю в журнале ошибку:
[Ср. 13 12: 18: 30.725622 2019] [php7: error] [pid 9697] [client 127.0.0.1:52914] Неустранимая ошибка PHP: Uncaught Zend \ ServiceManager \ Exception \ ServiceNotFoundException: плагин с именем «Messages» не найден в менеджере плагинов Zend \ View \HelperPluginManager в /var/www/webuseorg4/vendor/zendframework/zend-servicemanager/src/AbstractPluginManager.php:142\nStack trace: \ n # 0 / var / www / webuseorg4 / vendor / zendframework / zend-view / sr/PhpRenderer.php(376): Zend \ ServiceManager \ AbstractPluginManager-> get ('Messages', NULL) \ n # 1 /var/www/webuseorg4/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php (394): Zend \ View \ Renderer \ PhpRenderer-> plugin ('Messages') \ n # 2 /var/www/webuseorg4/module/Application/view/layout/login.phtml(32): Zend \ View \ Renderer \ PhpRenderer -> __call ('Messages', Array) \ n # 3 /var/www/webuseorg4/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php(506):include ('/ var / www / webuse ...') \ n # 4 /var/www/webuseorg4/vendor/zendframework/zend-view/src/View.php(207): Zend \ View \ Renderer \ PhpRenderer-> render (NULL) \ n # 5 / var / www / webuseorg4 / vendor / zendframework / zend-mvc / src / View / Http / DefaultRenderingStrateg в / var / www / webuseorg4 / vendor / zendframework / zend-servicemanager / src / AbstractPluginManager.php в строке 142, реферер: http://127.0.0.128/user/login 1
Что мне делать не так?