Действие Zend Controller, получить помощника в другом классе? - PullRequest
2 голосов
/ 18 декабря 2009

есть ли способ получить помощника действий из класса обслуживания?

У меня есть следующий помощник:

class Helper_Host extends Zend_Controller_Action_Helper_Abstract
{
    /**
     * Return Hosturl with path
     *
     * @return string Hostname
     */
    public function direct()
    {
        $front = Zend_Controller_Front::getInstance();
        $host = 'http://' . $_SERVER['HTTP_HOST'];
        $host .= $front->getBaseUrl() . '/';
        return (string) $host;
    }
}

Теперь я хочу получить имя хоста из "My_Service_XYZ", getStaticHelper не работает как исключение (;

class My_Service_XYZ {

    public function test()
    {
        $h = Zend_Controller_Action_HelperBroker::getStaticHelper('Host');
        return $h->host(); // not working..
    }

}

Ответы [ 2 ]

8 голосов
/ 21 декабря 2009
    class My_Service_XYZ {

        public function test()
        {
            $h = Zend_Controller_Action_HelperBroker::getStaticHelper('Host');
            return $h->direct(); // not working..
        }

    }

должно работать

0 голосов
/ 18 декабря 2009

Может быть, вам стоит попробовать:

$h = Zend_Controller_Action_HelperBroker::getStaticHelper('Host');

вместо:

$h = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...