PEAR wird verwendet, um ein PHP-Softwarepaket zu installieren und Composer wird für das gleiche verwendet. Ich glaube, Composer behandelt Abhängigkeiten besser, aber ist das der einzige Unterschied? Kann jemand den Unterschied zwischen diesen beiden Paketmanagern erklären und mir sagen, wann ich welche verwenden soll?Was ist der Unterschied zwischen PEAR und Composer?
Antwort
Es könnte ein bisschen bald sein, PEAR als veraltet zu betrachten, aber ich glaube nicht, dass es lange dauern wird, bevor es ist. Der Komponist floriert und reift mit vielen Paketen und aktiver Entwicklung. Daher könnte es besser sein, Composer als the standard for package Management-Tool in PHP zu verwenden.
Die Verwendung von PEAR ist für Paketbetreuer mühsamer. Daher ist viel Code auf PEAR veraltet. Ein Entwickler muss die Pakete PEAR-reviewed lassen, bevor sie auf PEAR veröffentlicht werden. Daher sind im Vergleich zur Anzahl der Pakete nur wenige Pakete verfügbar. Außerdem gibt es keine Möglichkeit, ein PEAR-Paket für ein einzelnes Projekt zu installieren. Alle Pakete werden global installiert. Mit Composer können Sie Pakete pro Projekt oder weltweit installieren. Nun, und dann gibt es in PEAR den Mangel an Abhängigkeitsmanagement, der ehrlich gesagt die eine Sache sein sollte, die ein Paketmanager gut macht.
Eine Sache, die Sie können tun mit PEAR und nicht mit Composer ist PECL extensions installieren. Es gibt jedoch pickle, die Composer verwendet und Sie können native PHP-Erweiterungsabhängigkeiten in Ihrer composer.json
-Datei definieren. Das Pickle-Projekt befindet sich momentan in einer gewissen Entwicklungsphase und sollte noch nicht als ausgereift betrachtet werden.
This blog post von Fabien Potencier könnte ein wenig eigensinnig sein, aber ich denke, es ist völlig richtig. Wenn Sie eine Option haben, wählen Sie Composer, damit PEAR in Ruhe sterben kann. Auch wenn Sie ask the PEAR maintainers meisten sagen, dass Komponist der Weg nach vorne ist, obwohl einige immer noch ihre Hoffnungen für Pyrus haben. (Dies sollte PEAR verbessert werden, wurde aber unter der explodierenden Popularität von Composer begraben.)
Übrigens können Sie auch Composer verwenden, um PEAR-Pakete zu installieren, siehe the Composer documentation.
Siehe auch:
[1] Informative slide deck about PHP package management
- 1. Was ist der Unterschied zwischen Pyrus und Composer?
- 2. Was ist der Unterschied zwischen `==` und `ist`?
- 3. Was ist der Unterschied zwischen den Optionen -a und -o, wenn Sie das Pear-Installationsprogramm verwenden?
- 4. Was ist der Unterschied zwischen:.! und: r !?
- 5. Was ist der Unterschied zwischen Difftime und '-'?
- 6. Was ist der Unterschied zwischen $ und $$?
- 7. Was ist der Unterschied zwischen Verilog! und ~?
- 8. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 9. Was ist der Unterschied zwischen/* ... */und/** ... */
- 10. Was ist der Unterschied zwischen `&` und `ref`?
- 11. Was ist der Unterschied zwischen $ (...) und `...`
- 12. Was ist der Unterschied zwischen .Equals und ==
- 13. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 14. Was ist der Unterschied zwischen + = und = +?
- 15. Was ist der Unterschied zwischen? und ? = Nil
- 16. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 17. Was ist der Unterschied zwischen composer.lock und installed.json?
- 18. Was ist der Unterschied zwischen:
- 19. Komponist: Was ist der Unterschied zwischen Require und Autoloader?
- 20. Was ist der Unterschied zwischen der JSP und der JSTL?
- 21. Was ist der Unterschied zwischen NetFx45WebLink und NetFx45RedistLink ist
- 22. Was ist der Unterschied zwischen PS1 und PROMPT_COMMAND ist
- 23. Was ist der Unterschied zwischen x86 und x64 ist
- 24. Was ist der Unterschied zwischen „ist None“ und „== None“
- 25. Was ist der Unterschied zwischen DISPATCH_QUEUE_CONCURRENT und DISPATCH_QUEUE_SERIAL ist
- 26. Was ist der Unterschied zwischen Task.Run ist() und Task.Factory.StartNew()
- 27. Was ist der Unterschied zwischen RewriteRule ist und umleiten 301
- 28. Was ist der Unterschied zwischen ist - (void) und + (void) Methoden
- 29. Was ist der Unterschied zwischen ist HttpResponseMessage und HttpResponseException
- 30. Was ist der Unterschied zwischen nohup und kaufmännisches Und
eine Schande, dass diese Frage geschlossen ist. – Adam