Розквіт Composer і закат PEAR
[Щоб не виникло непорозуміння, варто пояснити, що автор оригінального тексту - Fabien Potencier, творець популярного PHP фреймворку Symfony - прим. пер.]
Зовсім недавно, Nils Adermann, надіслав мені милу листівку, в нагадування про нашу зустріч три роки тому на «SymfonyLive hackday» в Сан-Франциско. Nils був присутній на конференції, оскільки за рік до цього, він анонсував, що phpBB у версії 4 перейде на Symfony.
У той час, я серйозно цікавився темою менеджерів пакетів, бо шукав зручний спосіб керувати бандлами в Symfony2. Для плагінів в Symfony1 я використовував PEAR, але код був дуже заплутаним, адже PEAR спочатку створювався трохи не для цього. Філософія Бандлера з Ruby спільноти виглядала дуже привабливо, так що я почав пошуки подібного пакетного менеджера. Після довгих безсонних ночей, я натрапив на libzypp, і моментально зрозумів, що це воно! На жаль libzypp - складна бібліотека, написана на C, і в такому вигляді, зовсім не підходила для Symfony.
Я змекнув, що хорошим менеджером пакетів, що дозволяє користувачам легко встановлювати плагіни/бандли/моди напевно цікавиться і Nils, для phpBB, так що я завів про це розмову на hackday в Сан-Франциско. Виявилося, що в той час, Нілс вже почав роботу над Composer.
Нілс виконав приголомшливу роботу з переведення C коду в PHP код. Пізніше, який приєднався до команди Джорді вивів все на новий рівень, взявши на себе турботи з реалізації всієї інфраструктури проекту.
Так, що щодо PEAR? PEAR вірою і правдою служив PHP спільноті багато років, думаю настав час, дати йому померти.
Я використовував PEAR в якості менеджера пакетів ще з мого першого проекту на PHP в далекому 2004-му. Я навіть написав популярний сервер каналів Pirum. Але зараз настав час рухатися далі, і розповісти про свої плани на канали, якими я керую.
13 лютого я писав у твіттері, що збираюся перестати підтримувати свої пакети в PEAR, оскільки Composer вже досить популярний. 14 лютого я вирішив перестати працювати над Pirum.
Оскільки багато хто хотів дізнатися статистику каналу Symfony, я заліз у логи, і виявив, що більшість запитів йде від залежностей PHPUnit. 20 квітня Sebastian Bergmann відкрив обговорення про підтримку PEAR для PHPUnit. Наступного дня, він опублікував повідомлення, в якому прощався з PEAR. Трохи пізніше, Pádraic Brady також відмовився від підтримки PEAR каналу для Mockery.
Крім Symfony, в моєму віданні також знаходяться канали Twig, Swiftmailer і Pirum. І ось мої плани:
- Оновити документацію, чітко пояснити в ній, що канали PEAR застаріли, і що бажаний менеджер пакетів - Composer. (Вже зроблено для всіх проектів).
- Опублікувати нотатку про застарівання PEAR каналів на сайтах цих каналів (зроблено для всіх проектів)
- Опублікувати пост в блогах (Twig, Swiftmailer і Symfony)
- Припинити випускати нові PEAR пакети
- Вилучити опис встановлення через PEAR в офіційній документації (Ймовірно у вересні цього року)
Зауважте, що я говорю про припинення випуску НОВИХ пакетів у PEAR, і просування Composer як основного засобу для інсталяції моїх бібліотек і проектів. Вже існуючі пакети, в осяжному майбутньому, все ще можна буде ставити через PEAR.
Всім Composer!
