ZendFramework XML Routing не работает - PullRequest
       14

ZendFramework XML Routing не работает

1 голос
/ 06 сентября 2011

Проблема: Я вижу пустую страницу

Все, что я хочу , это делать, когда я печатаю

http://localhost -> Перейти к модулям / по умолчанию / индекс

http://localhost/admin -> Перейти к модулям / admin / index

index.php не имеет значения. Общие настройки

Структура папок

enter image description here

Bootstrap.php

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initRoutes()
    {
        $front  = $this->getResource('frontcontroller');
        $router = $front->getRouter();
        $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/routes.xml');
        $router->addConfig($config->routes);

    }
}

application.ini

[production]

;Debug output
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0

;Include path
includePaths.library = APPLICATION_PATH "/../library"

;Bootstrap
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

;NameSpace
appnamespace = "Application"

;Front Controller
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

;Modular suport
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] =

;resources.frontController.params.prefixDefaultModule = "1"
;resources.frontController.defaultModule = "default"

;Views
resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "/views/"
;resources.view.doctype = "XHTML1_STRICT" 
resources.view.doctype = "XHTML1_TRANSITIONAL"

Config.xml

<?xml version="1.0" encoding="UTF-8"?>
<router>
    <routes>
        <some-action>
            <type>Zend_Controller_Router_Route</type>
            <route>:module/:controller</route>
            <defaults>
                <controller>index</controller>
                <action>index</action>
            </defaults>
        </some-action>
    </routes>
</router>

контроллер по умолчанию

<?php

class IndexController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }


}

контроллер администратора

<?php

class Admin_IndexController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }


}

.htaccess

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

ОШИБКА:

Неустранимая ошибка: максимальное время выполнения 30 секунд превышено в C: \ Program Files (x86) \ Zend \ ZendServer \ share \ ZendFramework \ library \ Zend \ Loader \ Autoloader.php в строке 380

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

попробуйте это со следующим xml для ваших маршрутов:

<?xml version="1.0" encoding="UTF-8"?>
<router>
    <routes>
        <front>
            <route>/</route>
            <defaults>
                <module>default</module>
                <controller>index</controller>
                <action>index</action>
            </defaults>
        </front>
        <admin>
            <route>/admin</route>
            <defaults>
                <module>admin</module>
                <controller>index</controller>
                <action>index</action>
            </defaults>
        </admin>
    </routes>
</router>
0 голосов
/ 06 сентября 2011

Я думаю, что не нужна конфигурация маршрутизатора для этого случая?Это стандартное поведение Zend Framework.

Я не уверен в данный момент, но попробуйте префикс вашего IndexController с "По умолчанию _":

class Default_IndexController extends Zend_Controller_Action
{

}

Если это не работает, пожалуйста, напишитеваше правило перезаписи.

...