29 сентября 2011 г.

Absolute URL and helper url() (view/action)

Столкнулся с забавным поведением внешне идентичных view хелпера url() и одноимённого action хелпера.


Делаем в контроллере следущее:

var_dump(
        $this->view->url(array(), 'staticRegisterActivate', true),
        $this->_helper->url->url(array(), 'staticRegisterActivate', true)
);


Видим два урла:
http://dseye.local/registertoken.html
и
/registertoken.html

Почему при одинаковом коде в обоих хелперах (там по 2 строки) мы получаем разный вариант? И заодно как же поступить - в контроллере нужно брать абсолютный урл по роутеру (не хотелось бы ещё и serverUrl туда приплетать).

Есть подозрение что хелпер вида что то ещё рендерит перед тем как роутер заасемблить, но подтверждений не нарыл =(

UPD:
Докопался до причины =)) Оказалось это я сам переопределил стандартный хелпер вида для вывода абсолютных адресов
$this->view->serverUrl() . $router->assemble($urlOptions, $name, $reset, $encode)

Так что тревога отменяется =)

28 сентября 2011 г.

Libcurl + c-ares (установка из сорцов)

c-ares дают возможность делать асинхронные DNS запросы через pycurl (биндинги для libcurl). Мне это понадобилось для скоростного краба на питоне.
Под Windows все уже в порядке (.exe сетапник уже включает в себя скомпилированную поддержку 'c-ares').
На сервере же (Linux/FreeBSD) приходится ставить ручками (О_о). Далее приложу инструкцию для линуксы.

26 сентября 2011 г.

Zend_Log + application.ini + multiply logs

Понадобилось более сложная логика в Zend_Log и сразу хотелось сделать по хорошему, через application.ini
Удалось не всё =(