Кто использует PEAR сейчас?

Fludimir

Новичок
Кто использует PEAR сейчас?

Где-то год назад началось мое знакомство с PEAR - подключился к проекту в котором активно использовалась MDB2, HTML_QuickForm, HTTP_Request. Благодаря примерам кода и хорошей документации по этим классам(В основном английской, хотя несколько русских статей тоже нашлось) довольно быстро разобрался и стал использовать, конкретно эти классы очень понравились. Но на офсайте груши огромное количество самых различных классов, многие выглядят весьма полезными, и появляется желание опробовать и разобраться с ними. И вот тут часто возникает такая проблема, что большинство небольших классов документированы из рук вон плохо, не всегда даже по квикгайду(когда он есть) удается разобраться как класс использовать, а часто гайдов нет вообще. Первая мысль в таком случае - погуглить и найти примеры кода, обсуждения на форумах, а в идеале и какие-нибудь статьи на других ресурсах по использованию тех классов с которыми возникают проблемы. И вот тут меня ожидает разочарование - практически нигде не находил полезных материалов, примеров использования, вопросов и обсуждений на форумах. Если вменяемого мануала нет на офсайте, то и вероятность найти что-то полезное в интернетах стремится к нулю. Почему? Неужели на самом то деле большинство пакетов пеара почти никто не использует?

Последние пару дней я разбирался с классами для работы с бд. Во всех своих проектах использую MDB2 как основной обьект работы с бд, с ней никаких вопросов и проблем нет, со всем давно разобрался, преимущественно по мануалу. Но постоянно писать запросы руками совсем неохота, и решил рассмотреть DB_DataObject, DB_Table, MDB_QueryTool, MDB2_TableBrowser.
С DB_DataObject толком так и не разобрался, и не нагуглил ничего полезного. DB_Table оценил после долгого и вдрумчивого чтения мануала. С MDB_QueryTool тоже хватило мануала, хотя и вопросы различные есть, ответов на которые не нашел.
MDB2_TableBrowser - а вот эта штучка приятно поразила, минимум английских букв, отличные примеры, разобрался сходу. Не все устраивает и радует, но вещь полезная, вот только статус "альфа" очень не радует.
Но почему таких примеров кода как у MDB2_TableBrowser нет ни в мануалах к остальным классам, ни нигде в интернетах ничего не находится? Или я совсем не там ищу, или эти классы просто мало кто использует, точно так же как и я разбираясь сам и сам пытаясь решать все возникающие проблемы?.. И подразумеваю я не только эти 4 класса для работы с бд, но и множество других
 

zerkms

TDD infected
Команда форума
Почему не Zend Framework? По факту - жутко похож на PEAR ;-)
Я бы даже сказал PEAR3
 

Fludimir

Новичок
Пакеты PEARа можно использовать отдельно в различных проектах, а если брать ZF то уже на нем все делать сначала, или как-то выковыривать отдельные его классы, чего делать в общем совсем не хочется
 

zerkms

TDD infected
Команда форума
Пакеты PEARа можно использовать отдельно в различных проектах, а если брать ZF то уже на нем все делать сначала, или как-то выковыривать отдельные его классы, чего делать в общем совсем не хочется
какой бред.

идеология у них абсолютно одинаковая.
что в PEAR пакеты имеют зависимости и нужно таскать их все с собой, что в Zend Framework можно взять отдельно взятый пакет + его зависимости и юзать.
 

Fludimir

Новичок
Хм, не знал :) Так зачем тогда PEAR, если есть нормально переписанный под ПХП5 ZF?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Fludimir
Хм, не знал :) Так зачем тогда PEAR, если есть нормально переписанный под ПХП5 ZF?
PEAR --- это, во-первых, система управления пакетами, используемая кучей проектов, а уже во-вторых --- некий официальный репозиторий пакетов.

Само наличие ZF (вместо участия в развитии PEAR) --- это политическое решение семитов из фирмы Zend, таким же политическим решением является неиспользование установщика PEAR для установки ZF, а распространение его здоровым архивом.

Мнение, что PEAR безнадёжно застрял в PHP4, мягко говоря, не соответствует действительности: если включить фильтрацию по PHP5+ в списке пакетов, то там выводится вполне внушительное их количество: 144 штуки.

Кроме того, щас ведётся разработка PEAR2, рассчитанного на PHP5.3+, есть уже вполне работающий установщик pyrus. Так что скоро ZF имеет все шансы оказаться безнадёжно застрявшим в PHP5.2-, а новые решения будут появляться в PEAR2.
 

Fludimir

Новичок
Это конечно грустно что зендовцы так нехорошо поступили, но для меня как для программиста которому нужны определенные компонены и возможность без особых проблем разобраться с ними, это выходит на первый план, а кто какие политические решения принимал - уже на второй.
И получается что в большинстве случаев мне стоит использовать именно зендовские классы, которые все без исключения строго пхп5, ко всем есть документация как минимум на английском, а часто и на русском, и главное спокойно можно пойти на форум зф и спросить о возникшей проблемме, такой поддержки какую я могу получить по классам зенда по пеару я нигде не получу?

>то там выводится вполне внушительное их количество: 144 штуки.
И большинство из них - в стадии альфа/бета.. И далеко не все нужные мне классы есть переписанные под пхп5

Кстати, у вас в подписи приведены ссылки на HTTP_Request2 // HTML_QuickForm2 , оба они являются PHP5 переработками оригинальных классов, оба находятся в стадии альфы. И на страничках оригинальных классов уже написано что рекомендуется использовать новые версии заместо старых. Но предыдущие версии - stable, а новые - alpha, и как тогда понимать рекомендацию использовать альфу вместо стабле? Как-то неохота использовать какую то альфа версию в коммерческом проекте, тем более что есть предыдущая версия и она считается стабильной

А вообще есть какие либо серьезные различия между HTML_QuickForm и Zend_Form ?

>Zend Framework можно взять отдельно взятый пакет + его зависимости и юзать.
А можете привести пример использования отдельно какого-нибудь класса из ZF ? Например что мне нужно чтобы использовать в своем проекте Zend_Db_Table, ну или другой какой то зендовский класс ?
 

zerkms

TDD infected
Команда форума
Fludimir
я использую в паре с коханой отдельно Zend_Mail + Zend_OpenId + Zend_Http
Соответственно у меня в директории с зендом только эти "пакеты" + их зависимости

Код:
Controller\
Http\
Loader\
Mail\
Mime\
OpenId\
Uri\
Validate\
Exception.php
Loader.php
Mail.php
Mime.php
OpenId.php
Registry.php
Uri.php
Validate.php
Примерно вот такой список получается

-~{}~ 03.04.10 01:40:

Например что мне нужно чтобы использовать в своем проекте Zend_Db_Table, ну или другой какой то зендовский класс ?
если не ошибаюсь - то есть всякие сервисы, которые собирают комплект по запросу. лично я не заморачивался и взял гарантированный набор, который точно удовлетворит все зависимости. из него, бьюсь об заклад, можно половину файлов повырезать.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Fludimir
Это конечно грустно что зендовцы так нехорошо поступили, но для меня как для программиста которому нужны определенные компонены и возможность без особых проблем разобраться с ними, это выходит на первый план, а кто какие политические решения принимал - уже на второй.
И получается что в большинстве случаев мне стоит использовать именно зендовские классы, которые все без исключения строго пхп5, ко всем есть документация как минимум на английском, а часто и на русском, и главное спокойно можно пойти на форум зф и спросить о возникшей проблемме, такой поддержки какую я могу получить по классам зенда по пеару я нигде не получу?
Есть официальный список рассылки pear-general, спрашивать надо в нём.

>то там выводится вполне внушительное их количество: 144 штуки.
И большинство из них - в стадии альфа/бета.. И далеко не все нужные мне классы есть переписанные под пхп5
Если их не использовать и не помогать разработчикам стабилизировать код, то они из альфы-беты и не выйдут...

Кстати, у вас в подписи приведены ссылки на HTTP_Request2 // HTML_QuickForm2 , оба они являются PHP5 переработками оригинальных классов, оба находятся в стадии альфы. И на страничках оригинальных классов уже написано что рекомендуется использовать новые версии заместо старых. Но предыдущие версии - stable, а новые - alpha, и как тогда понимать рекомендацию использовать альфу вместо стабле? Как-то неохота использовать какую то альфа версию в коммерческом проекте, тем более что есть предыдущая версия и она считается стабильной
Неохота --- не используй, делов-то. Правда, по функциональности HTTP_Request2 сильно превосходит HTTP_Request, по стабильности не хуже него, имеет пользовательскую документацию и не имеет открытых багов при 12K+ скачиваний последней версии. Альфа же потому, что
а) не вся функциональность написана (ещё нет Cookie Jar'а)
б) в зависимостях пакет Net_URL2, последняя версия которого --- beta.

Зато "стабильный" Zend_Http_Client имел баги, исправленные даже в первом HTTP_Request. Ну и попробуй в Zend_Http_Client прогресс-бар при заливке-скачивании файлов изобразить, да.

HTML_QuickForm2 в альфе потому, что опять же недописана функциональность (а именно интеграция с жаваскриптом). Но в отличие от старой версии он почти на 100% покрыт тестами и по стабильности явно не хуже...

А вообще есть какие либо серьезные различия между HTML_QuickForm и Zend_Form ?
Есть, это совершенно разные пакеты. При этом, опять же, одной из важных задач при создании Zend_Form было сделать его максимально непохожим на HTML_QuickForm, бгыгыгы.
 

AmdY

Пью пиво
Команда форума
HTML_QuickForm (не 2) действительно позволяет делать быстрые формы, а Zend_Form это просто ради ООП.
А вообще какая разница из какой библиотеки, главный критерии - нужный функционал и возможность простой интеграции. Сейчас если в библиотеке нет нэймспэйсов, тоже начнут отправлять на помойку истории :(
 
Сверху