2010-04-12 3 views

ответ

0

Вы должны грузиться FrontController первых, попробовать что-то вроде:

function initFoo() 
{ 
    $this->bootstrap('frontController'); 
    $req = $this->frontController->getRequest(); 
} 
+0

Нет работы! Возврат: «Неустранимая ошибка: вызов функции-члена getParam()» –

+0

Я думаю, что вторая строка должна быть '$ this-> getResource ('frontController')' – chelmertz

+0

Кроме того, не будет ли это _initFoo()? – jackyalcine

10

Вы не должны получить запрос Objet, так как если вы видите цикл диспетчеризации, идея заключается в том, что начальной загрузки действия перед выполнением запроса.

Если вам нужно изменить каким-либо образом приложение, используйте плагин контроллера для этого.

12

Если вы действительно хотите, вы можете достичь этого призвания:

public function _initRequest() 
{ 
    $this->bootstrap('frontController'); 
    $front = $this->getResource('frontController'); 
    $front->setRequest(new Zend_Controller_Request_Http()); 

    $request = $front->getRequest(); 
} 

Однако, этого следует избегать, так как большая часть данных, которые нужно от объекта Response будут доступны после того, как фронт-контроллер отправляется (например, модуль, контроллер или имя действия).

Другие переменные, хранимые в объекте Response извлекается из глобальных массивов, такие как $_SERVER, $_POST или $_GET, которые вы можете исключительно читать непосредственно в начальной загрузке.

Но, скорее всего, вы хотите использовать объект Response в front controller plugin:

class Your_Controller_Plugin_PluginName extends Zend_Controller_Plugin_Abstract 
{ 
    public function preDispatch(Zend_Controller_Request_Abstract $request) 
    { 
     // do anything with the $request here 
    } 
} 
+0

preDispatch - правильный метод для этого. – Dharmang

-4

использовать завод вместо

http://www.yourweb.com/somecontroller/index/id/12

$ ID = Zend_Controller_Front :: деЫпзЬапсе() -> GetRequest () -> ID;

echo $ id;

// echo 12

+0

Это, конечно же, не будет работать, так как фронт-контроллер не был отправлен еще во время загрузки, и поэтому параметры запроса не будут доступны. –

+3

-1 Объект запроса недоступен в этой точке. – JohnP

Смежные вопросы