phar - тупо файл "all in one"
composer - установка через менеджер зависимостей (т.е. внедрение решения в проект)
Желательно второй вариант, т.к. мы получаем:
1) Возможность обновиться в любой момент одной командой
2) Резолв зависимостей, т.е. 99% гарантию отсутсвия конфликтов имён классов в проекте (такое может случиться, когда вендор в проекте использует тот же вендор, что и в библиотеке)
НО composer требует:
1) Наличие соединения с интернетом
2) Мы полагаемся на внешний репозиторий (packagist), в случае его повреждения или тьфу-тьфу взлома не дай бог в проект к вам прилетит вирусняга при очередном апдейте (такого не случалось пока и скорее всего не случится никогда, но всё зависит от политики безопасности проекта).