Эта тема на forum.dklab.ru


Anonymous: Правила расширения php-библиотек (в частности Zend Framework).
Все как-то не доводилось максимально применять сущ. фрэйворки. Поэтому теперь и возник вопрос.
Конкретнее: есть URL, необходимо получить ответ сервера на запрос по этому URL. Заранее не известно, что возвратит сервер и какого размера. Получить ответ, сложности не составляет (Zend_Http_Client). А вот механизмов контроля размера сохраняемого ответа сервера в ZF мной найдено не было. По всей видимости, пока этого не реализовано, а заголовкам особо доверять я не привык.
Формирования тела ответа осущ. в методе Zend_Http_Client::_read()

protected function _read($socket)
{
...

while (!feof($socket)) {
$responseBody .= fgets($socket, 8192);
}
...
}


Вопрос : как правильно осущ. этот контроль?

1) Редактирование непосредственно кода метода Zend_Http_Client::_read().
2) Наследовать класс Zend_Http_Client и переопределить метод _read()
3) …

1-й вариант отпадает сразу же – т.к. сам ZF распространять с приложением не допускается и вообще трогать код ZF - ИМХО повлечет проблемы в дальнейшем.

Если принять 2-й вариант, то у меня возникают сопутствующие вопросы: как обозвать создаваемый класс? Zend_Http_Client_My? Смешно, ведь идеологически они выполняют одинаковые ф-ции. Где его располагать, если структура каталогов сл. вида:


www/
images/
style/
include/
Zend/
Zend.php



Спасибо!

Эта тема на forum.dklab.ru