Новое для Zend и проблема с маршрутизацией.Zend: не удается получить маршрутизатор, работающий от Bootstrap.php
Я могу получить маршрутизацию, используя файл application.ini, но не могу заставить маршрутизатор работать с использованием начальной загрузки. Я просмотрел довольно много учебников, но большинство из них, похоже, относится к более старым версиям Zend Framework. Я использую 1.10.
В моей Bootstrap у меня есть:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initRouter()
{
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$route = new Zend_Controller_Router_Route(
'aaa',
array(
'controller' => 'index',
'action' => 'browse'
)
);
$router->addRoute('test', $route);
}
}
И мой index.php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
Если я указываю мой браузер http://www.mysite.com/aaa
Я получаю следующее сообщение об ошибке
An error occurred
Page not found
Exception information:
Message: Invalid controller specified (aaa)
Stack trace:
#0 /usr/share/php/libzend-framework-php/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /usr/share/php/libzend-framework-php/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /usr/share/php/libzend-framework-php/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /var/www/mysite.com/directory001/public/index.php(26): Zend_Application->run()
#4 {main}
Request Parameters:
array (
'controller' => 'aaa',
'action' => 'index',
'module' => 'default',
)
Это кажется таким прямым, но, похоже, не работает.
Может ли кто-нибудь увидеть, что я могу делать неправильно?
Хммм - Спасибо за идеи, однако я вернулась к Application.ini метода маршрутизации. Единственная причина, по которой я пытался выполнить маршрутизацию из Bootstrap, заключалась в том, что я думал, что это нужно сделать так, чтобы использовать помощник URL. Теперь я могу увидеть, как использовать помощник URL с маршрутами, установленными в application.ini. – someuser