Преимущества архивов PHAR в PHP - PullRequest
13 голосов
/ 19 августа 2010

PHP 5.3 имеет новую функцию под названием PHAR , аналогичную JAR в JAVA. Это в основном архив файлов PHP. Каковы его преимущества? Я не могу понять, как они могут быть полезны в веб-сценарии.

Любое другое использование, кроме «простота развертывания» - разверните все приложение, просто скопировав один файл

Ответы [ 5 ]

19 голосов
/ 25 августа 2010

Существуют огромные преимущества для проектов с открытым исходным кодом (без определенного порядка).

  1. Более простое развертывание означает более легкое внедрение.Представьте себе: вы устанавливаете CMS, форум или систему блогов на свой веб-сайт, перетаскивая его в свой FTP-клиент. Вот и все.

  2. Более простое развертывание означает более высокую безопасность.Обновление до последней версии программного пакета будет намного менее сложным, если у вас есть только один файл, о котором вам нужно беспокоиться.

  3. Ускоренное развертывание.Если ваш веб-хост не предоставляет вам доступ к оболочке, вам не нужно разархивировать перед загрузкой, что сокращает накладные расходы при передаче файлов.

  4. Врожденная компартментализация.Файлы, которые являются частью пакета, четко отличаются от дополнений или настроек.Вы знаете, что можете легко заменить архив, но вам нужно сделать резервную копию вашей конфигурации и пользовательских шаблонов (и они не все смешаны вместе).

  5. Более простые библиотеки.Вам не нужно выяснять, как использовать программу установки PEAR, или выяснить, имеет ли та или иная библиотека вложенную структуру каталогов, или вам нужно включить X, Y или Z (в таком порядке?).Просто загрузите, включите архив, начните кодирование.

  6. Проще в обслуживании.Не уверены, что обновление библиотеки сломает ваше приложение?Просто замени это.Сломанный?Вернуть один файл .Вам даже не нужно трогать ваше приложение.

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

Не какайте, чтобы упростить развертывание.Это не имеет никакого значения для доморощенного SaaS, но для любого, кто отправляет или устанавливает пакеты программного обеспечения PHP, это изменит правила игры.

6 голосов
/ 15 мая 2012

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

5 голосов
/ 13 февраля 2015

По моему опыту, свободно упакованные исходные файлы PHP, находящиеся в производственной среде , приглашают к действующему коду, когда требуется исправление. Развертывание в файле .phar препятствует такому поведению и помогает укрепить лучшие практики, т. Е. Собрать и протестировать в локальной среде, а затем развернуть в рабочей среде.

2 голосов
/ 19 августа 2010

Любой инструмент, работающий с одним файлом "внезапно", работает со всеми файлами приложения одновременно.
Например, транспорт: вы можете загрузить все приложение через один элемент ввода / файла без дополнительных шагов.
Например, подписание заявки: контрольная сумма / подпись файла -> контрольная сумма / подпись для всего приложения.
...

2 голосов
/ 19 августа 2010

Преимущество в основном в простоте развертывания. Вы развертываете целое приложение, просто копируя один файл.

Библиотеки также могут использоваться без расширения.

...