PHP: использовать Pecl / Pear или создавать свои собственные системы? - PullRequest
0 голосов
/ 23 сентября 2008

При создании некоторых моих PHP-приложений многие функциональные возможности можно было бы кодировать с помощью модулей PEAR / PECL, однако тот факт, что некоторые люди, использующие его, могут не иметь доступа для установки вещей, представляет для меня загадку.

Должен ли я отказаться от некоторых пользователей, чтобы использовать PEAR / PECL для функциональности, когда это позволит мне кодировать систему быстрее, чем если бы я написал свою собственную функциональность, но подразумевает, что это исключит использование некоторых людей.

Ответы [ 9 ]

5 голосов
/ 23 сентября 2008

Экономьте время разработки, разрабатывая вместе с библиотеками pear, и предоставляйте библиотеки, включенные в то, что вы распространяете (хотя вы должны быть уверены, что оно соответствует требованиям лицензирования)

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

5 голосов
/ 23 сентября 2008

Отчасти это зависит от того, сколько у вас времени, и от цели проекта. Если вы просто пытаетесь сделать что-то, что работает, используйте PEAR / PECL. Если вы пытаетесь научиться быть лучшим программистом, и у вас есть время, то я бы рекомендовал приложить усилия, чтобы написать свои собственные версии. Как только вы поймете, что вы пытаетесь заменить, вы можете переключиться на версию PEAR / PECL, чтобы не тратить время на повторное воплощение того, что уже было реализовано ...

... но с другой стороны, существующие ранее инструменты не всегда делают именно то, что вам нужно, и иногда имеют накладные расходы, которые не приносят вам никакой пользы. Вот почему инструменты командной строки Unix такие маленькие и узкие по назначению; никому на самом деле не нужна версия «ls», которая может делать что угодно, кроме того, что «ls» может делать в настоящее время. Ваша версия любой библиотеки PEAR благодаря тому, что она написана вами, будет делать именно то, что вам нужно. Это требует тщательного осмысления ...

... но, держась за руки, не тратьте слишком много времени на размышления об этом. Потратьте пять минут, примите решение и начните кодировать. Даже если вы примете неправильное решение, вы по крайней мере получите больше практики кодирования. : -)

1 голос
/ 23 сентября 2008

Используйте PEAR, но допускайте включение пакетов PEAR в ваш проект. Все пакеты PEAR можно отдельно загрузить с http://pear.php.net/ и поместить в любое место. В зависимости от удобства и вопросов лицензирования вы можете затем упаковать все необходимые файлы PEAR в свой проект или рассказать пользователям, как их загрузить и «установить».

1 голос
/ 23 сентября 2008

Первоначально закодируйте его, используя PEAR / PECL, и, если вам нужно, чтобы люди просили версию, отличную от PEAR / PECL, начните кодировать собственные альтернативы для такой версии.

Первоначальная разработка будет идти намного быстрее с этим, и вы можете обнаружить, что никто не заботится о том, чтобы требовать сторонних библиотек, как только вы начали выпускать приложения.

1 голос
/ 23 сентября 2008

Мое предложение состоит в том, чтобы начать с использования модулей PEAR / PECL и завершить выполнение остального кода. Затем, когда большая часть кода работает так, как вы хотите, вы можете оценить, возвращаясь к ней и пошагово, заменяя внешний код своим. Кроме того, к тому времени у вас будет лучшее представление о том, какое влияние они оказывают на вашу базу пользователей.

0 голосов
/ 18 июня 2009

Повторяя многое из того, что уже было сказано: http://www.codinghorror.com/blog/archives/001145.html

0 голосов
/ 23 сентября 2008

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

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

pecl отличается, однако. Расширения, как правило, лучше проверяются и тестируются, иначе они потерпят крах php.

0 голосов
/ 23 сентября 2008

Использование PEAR не проблема, если пользователи не имеют root-доступа к своему веб-серверу, они могут просто загрузить файлы PHP с pear.php.net и добавить их в свой путь включения. PECL немного сложнее обойти, так как зачастую нет возможности установить новые модули без root-доступа.

0 голосов
/ 23 сентября 2008

В большинстве случаев я никогда не буду использовать PEAR, установленный на сервере глобально. Версии могут измениться и повлиять на ваше приложение. Вместо этого у меня есть файл конфигурации (в моем случае XML), в котором перечислены все требуемые пакеты и их версии. Установщик подключается к моему личному FTP-репозиторию, загружает и устанавливает все пакеты PEAR локально в $ PROJECTBASE / lib / pear / .. И PEAR запускается локально, а не глобально. Что-то, что вы можете рассмотреть.

...