Мне интересно, как я могу вручную запустить выполнение действия контроллера моего приложения MVC. Моя цель - интегрировать вывод html / myController / myAction в другое php-приложение (typo3), используя простое включение. Я думал о том, чтобы вручную создать экземпляр контроллера, вида и макета, чтобы обойти диспетчер. К сожалению, я не могу заставить это работать. Мой текущий подход выглядит так:
// standard bootstrap ... setting up autoloader, database etc.
$layout = new Zend_Layout();
$layout->setLayoutPath(('/application/default/layouts'));
$layout->setLayout('main');
$layout->setContentKey('content');
$view = new Zend_View();
$controller = new IndexController(new Zend_Controller_Request_Http($currenUrl), new Zend_Controller_Response_Http());
$controller->view = $view;
$controller->init();
$controller->hinweisAction();
$layout->content = $view->render();
echo $layout->render();
Создание макета не является проблемой, но становится сложным при создании контроллера. Установка экземпляра представления после вызова конструктора не работает, поскольку представление требуется уже во время создания экземпляра.
Каким был бы «правильный» путь для такого сценария? Может быть, реализовать простой пользовательский диспетчер, который использует предопределенный контроллер и имена действий от меня?
Greets
Георг Вехтер