Преимущества PHAR-архивов в PHP

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

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

Ответы

Ответ 1

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

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

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

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

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

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

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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