@glebvvs

Почему не отрабатывает контроллер в ZF3?

Всем привет. Столкнулся со следующей ситуацией. Создал стандартный скелет третьего зенда через композер. Из коробки есть уже готовый индексный контроллер. Когда с ним работаю, то все в полном порядке, но когда пытаюсь создать свой собственный контроллер возникают проблемы. Ошибка как таковая не вылетает и даже шаблон отображается, но логика самого контроллера почему-то мертвая. Пробовал даже прописывать die в контроллер и даже он не проходит. Хотя в индексном контроллере все работает.

Касаемо действий которые предпринимал для регистрации нового контроллера и роута к нему.

В конфигах:
'blog' => [
                'type'    => Literal::class,
                'options' => [
                    'route'    => '/test',
                    'defaults' => [
                        'controller' => Controller\BlogController::class,
                        'action'     => 'index',
                    ],  
                ],
            ],


'controllers' => [
        'factories' => [
            Controller\IndexController::class => InvokableFactory::class,
            Controller\BlogController::class => InvokableFactory::class,
        ],
    ],


Сам контроллер:
<?php 

namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class BlogController extends AbstractActionController
{

	public function index()
	{
		return ViewModel([
			'var' => 'variable value'
		]);
	}

}


Что интересно так это то, что даже если метод контроллера имеет пустое тело, то шаблон роута отображается. Но если вписывать в контроллер любую логику, то она почему-то проходит мимо. Кто-то сталкивался с такой проблемой? Может я подводный камень из документации пропустил?
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Sunsetboy
senior web developer, IT entrepreneur
Методы действий в контроллере должны заканчиваться на Action
В вашем случае:
public function indexAction()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы