2009-04-10 4 views
8

Ich habe mir einen guten Teil des Quellcodes anderer Leute und anderer Open-Source-PHP-Software angeschaut, aber es scheint mir, dass fast niemand tatsächlich PEAR benutzt.Wie häufig ist PEAR in der realen Welt?

Wie häufig ist die Verwendung von PEAR in der realen Welt?

Ich dachte, dass das aktuelle Gefühl auf Frameworks möglicherweise seine Popularität beeinflussen könnte.

Antwort

10

PHP-Programmierer-Kultur scheint einen grassierenden Befall von "Not Invented Here" -Syndrom zu haben, wo jeder scheint, das Rad selbst neu zu erfinden.

Um nicht zu sagen, das gilt für alle PHP-Programmierer, aber sie tun dies offenbar viel zu normal.

Meistens glaube ich, dass es wegen mangelnder Bildung ist, und das mit der Schwierigkeit der Hosting-Provider, die anständige PHP-Dienste bieten.

Dies macht es schwieriger, eine funktionsfähige PEAR-Installation zu bekommen, und es wird durch die Design-Struktur von PHP verschlechtert, die für ein modulares Design nicht günstig ist.

(Dies kann mit dem Hinzufügen von Namespaces verbessern, haben aber noch zu sehen).

Die überwiegende Mehrheit der PHP-Code, den ich in freier Wildbahn sehe, ist immer noch klassischen Amateur-Code mit HTML interpoliert, und die Mehrheit der billigen Hosting, die PHP-Benutzer zwangsläufig anmelden, gibt Ihnen Shell-Zugriff nicht.

+0

Yup. Und irgendwie funktioniert es immer noch meistens. (Zumindest mieser VB-Code war meist unsichtbar.) – dkretz

+0

Der Befall ist leider selbst erhaltend, jeder erfindet das Rad neu, teilt es aber nicht, damit andere es nicht tun müssen. –

+1

Ich glaube nicht, dass dies der Grund ist, warum PEAR die volle Akzeptanz fehlt. – jmucchiello

0

Die Birne-Bibliothek ist das ein bisschen Zeug, das gerade dort sitzt, verstopft, mit sehr wenig Ruhm. Wenn Sie nach etwas suchen, das es kann, und es gibt nichts gezielteres in dem Rahmen, den Sie verwenden - gehen Sie es verwenden.

Ich arbeite seit zwei Jahren an einer Dating-Website - und es gibt mindestens 65 Birnen-Dateien, die ich verwendet habe, und sind noch heute dort leben. Einige, wie der Pager oder html_Quickform, werden bei der Aktualisierung durch neuen Code überholt, bei anderen ist es einfach nicht nötig.

3

Im meiner Meinung nach PEAR ein gutes Projekt ist, aber es fehlt Menschen, die und arbeiten wollen halten daran zu arbeiten, die meisten Pakete inkonsistent Codierpraktiken haben (ich meine nicht-Stil-Codierung) und es gibt viele Todo in das ganze Ding.

Ich finde es nützlich manchmal für die Kodierung Zeug wusste ich noch nicht existiert, wie benutzerdefinierte Land Validierung Funktionen und so weiter, sonst bin ich besser mit jedem verfügbaren Framework da draußen (wie CodeIgnite oder Zend Framework) serviert.

0

PEAR ist nicht üblich, noch beliebt.

0

Ich habe versucht, PEAR so oft zu verwenden, aber es fehlt das umpphh zu begehen.

Ich bevorzuge Zend Framework, die den Ansatz der "lose" Typ, verwenden Sie nur, was Sie wollen.

6

In meiner (begrenzten) Erfahrung, dass jedes PEAR-Projekt hatte potentiell interessant war wichtige Punkte gegen sie:

  • -Code ist an einem möglichst breiten Publikum gezielt möglich. Es gibt überall Hacks, um mit alten/nicht unterstützten PHP-Versionen umzugehen.Neue nützliche Funktionen werden ignoriert, wenn sie nicht auf älteren Versionen emuliert werden können, was bedeutet, dass Sie hinter der Kernsprachenentwicklung zurückbleiben.
  • Jedes Projekt neigt dazu, zu wachsen, bis es alle Probleme mit einem einzigen einfachen include löst. Wenn Ihr PHP-Interpreter den gesamten Quellcode bei jedem Seitenaufruf verarbeiten muss (weil die Autoren ihn möglicherweise nicht als opcode-cachefreundlich ausgelegt haben), entsteht ein messbarer Mehraufwand für die Verarbeitung Tausender ungenutzter Codezeilen.
  • Stil war immer inkonsistent. Es fühlte sich nie so an, als würde ich verallgemeinerbare APIs wie in anderen Sprachen lernen.

Ich verwendete PEAR::DB bei der Arbeit. Wir haben festgestellt, dass die meisten unserer Skripte ihre Zeit in PEAR-Code anstatt in unseren eigenen Code investiert haben. Ersetzen Sie das mit einem sehr einfachen Wrapper um pgsql_* Funktionen deutlich reduzierte Ausführungszeit und erhöhte Laufzeit Sicherheit, aufgrund der Verwendung von real vorbereiteten Aussagen. PEAR::DB verwendet eine eigene (zu der Zeit falsche) vorbereitete Aussage Logik für Postgres, weil die ursprünglichen pgsql_ Funktionen zu neu waren, um überall verwendet werden.

Insgesamt denke ich, dass PEAR in vielen Fällen als "Starter-Bibliothek" gut ist. Es wird wahrscheinlich Code höherer Qualität sein, als jeder einzelne in kurzer Zeit produzieren wird. Aber ich würde es sicherlich nicht in einer populären öffentlich zugänglichen Website verwenden (zumindest nicht ohne viel von Hand zu machen ... meine eigene Gabel aufrechtzuerhalten).

+0

+1 und abgeordnet auf PEAR :: DB/Postgres. Ich habe das gleiche Problem behandelt. Es erfindet das Rad nur neu, wenn die Standardbibliotheken es bereits effizient machen. –

+0

Bullet Point # 2 ist der große Mörder für mich. PEAR-Code ist aufgebläht, weil er sich mit einer Vielzahl von Situationen befassen muss. Der Großteil des Codes wird von jeder Seite Ihrer Website gelesen und interpretiert, selbst wenn Sie nur einen kleinen Teil davon verwenden. – jmucchiello

0

PEAR ist nicht üblich, noch beliebt - aber es ist gut, und ich würde es jedem empfehlen.

(Ich stimme Tom darin zu, dass es sich nicht wie eine einzige, einheitliche API anfühlt; aber dann ist das PHP ... man möchte nicht, dass es über seine Station als interpretierter hack kommt Sprache würde jetzt man ?!)

Verwandte Themen