PHP best-practice-Skriptsammlung?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP best-practice-Skriptsammlung?

    Mir geht schon seit langem eine Idee durch den Kopf.

    PHP-Skriptsammlungen gibt es ja wie Sand am Meer. Von den dort gelagerten Skripten ist allerdings, ich denke das wissen wir alle, ein Großteil entweder totaler Müll oder nicht perfekt.

    Ein Beispiel: E-Mail-Validator-Skripte auf Regex-Basis. Die Aufgabenstellung ist einfach: Gib zurück, ob ein String eine valide E-Mail-Adresse ist. Man kann aber so viel falsch machen. Umlautdomains. Die neuen vierstelligen Domains. Die zukünftigen (.hotel, .************)... Es lauern viele Fallstricke, und die allerwenigsten Code-Schnipsel beherrschen wirklich alles.

    Die beste Quelle für Schnipsel und überhaupt für Praxiswissen, die ich kenne, sind die User Contributed Notes auf php.net. Dort posten Leute ihre Praxiserfahrungen zu bestimmten Funktionen und Code-Schnipsel, die laufend diskutiert und verbessert werden. Dann meldet sich einer, daß der Schnipsel auf seiner (evntl. exotischen) Umgebung nicht funktioniert und postet einen besseren, und so weiter. Meiner Erfahrung nach sorgt das für die bestmögliche Qualität, und die UCN sind dadurch (wahrscheinlich eher aus versehen, wie so oft) einer der größten professionellen Wissens- und Erfahrungsschätze zu PHP geworden.

    Die Idee oder der Wunsch wäre nun, dieses Prinzip in eine eigene Seite zu gießen. Also ein Skriptarchiv mit wenigen Skripten und Code-Schnipseln, die von der Community begutachtet und diskutiert werden. Schlechte Skripte kommen gar nicht erst rein, und Benutzer sind angehalten, von ihren Erfahrungen mit dem Schnipsel zu berichten. Der Code selbst kann via Wiki verändert werden und soll, ähnlich wie ein Wikipedia-Artikel durch das Ringen vieler Autoren geschliffen wird, eine Art "best practice" für die Aufgabenstellung des Skripts ergeben.

    Im Grunde also die ohnehin für Open-Source-Projekte typische Arbeitsweise, aber eben unkomplizierter, ohne Bindung und ohne den Anspruch, eine Library oder ein Framework zu gründen, sondern wirklich nur einzelne Skripte zu bestimmten Aufgabenstellungen zu liefern, mit professionellem Feedback zu Verwendbarkeit und Erweiterbarkeit, einer Auflistung der benötigten PHP-Extensions, erkannten Sicherheitslücken, und so weiter.

    Mir geht es gar nicht um die 100.000ste Skriptsammlung, sondern darum, einen Ort zu schaffen, in dem Profis Praxiserfahrungen und eben "Best practices" so teilen können, daß andere sie suchen können. Die PHP-Resource ist dafür nicht der richtige Ort, weil der Großteil Anfängerfragen sind und die, die richtig Ahnung haben, eigentlich nur auf diese Fragen antworten. Dinge, die darüber hinaus gehen, gibt es nur sehr, sehr selten.

    Wie seht ihr das? Gibt es für sowas Bedarf? Gibt es sowas schon? Ist es überflüssig, weil die großen Frameworks schon in die Richtung gehen und dort auch entsprechende Diskussion stattfindet? Ist es so, daß ich die entsprechenden Kanäle, wo sowas ausgetauscht wird, einfach nicht kenne? Dann schickt mir Links und nennt mir die Mailinglisten Habt ihr weitere Ideen dazu?

    Ich hab im Moment nicht die Kapazitäten die Idee ins Leben zu rufen, bis mindestens Herbst, aber ich wollte sie mal in den Raum werfen.
    Vielleicht möchte jemand dabei mitmachen, und/oder hat gar größere Kapazitäten, um die Umsetzung anzugehen?
    Zuletzt geändert von pekka; 12.07.2008, 13:53.

  • #2
    Die Idee ist prima, ich kenne auch noch nichts vergleichbares.
    Ein großer Nachteil der UCNs auf php.net ist ihre Länge und Qualität. Jemand postet eine Funktion, drei andere posten Kritik/Verbesserungen dazu, dazwischen verstecken sich Hinweise auf Fallstricke und Bugs. Manche UCN ist auch einfach nur falsch oder völlig überflüssig.
    Das könnte man mit einem Wiki übersichtlicher präsentieren und durch die Veränderbarkeit des Codes und Revisionierung gäbe es zu jedem Problem nur einen Codeschnipsel, der mit der Zeit immer besser wird.

    Die großen Frameworks sehe ich nicht als Konkurrenz sondern als Erweiterung des Spektrums. Der typische Codeschnipsel auf php.net ist sehr "low level", z.B. der Nachbau von file_put_contents() für ältere PHP-Versionen. Doch auch für Frameworks gibt es Best Practices, nützliche Schnipsel oder kleine Erweiterungen. So wie php.net in Kapitel aufgeteilt ist, könnte man sich im Wiki eigene Kapitel zu diversen Frameworks mit Unterkapiteln für ihre Komponenten vorstellen.

    Wichtig wäre mir vor allem eine gute Suche. Vgl. http://php.net/results.php?q=mb_dete...&p=manual&l=de vs. http://php.net/results.php?q=mb_dete...&p=manual&l=en

    Kommentar


    • #3
      Cooles Feedback, danke! Die Unterkapitel-Sache bzw. überhaupt Frameworks miteinzubeziehen ist super.
      Mal schauen was noch dazu kommt... Vielleicht ist das was für den Herbst, oder zwischendurch....

      Kommentar


      • #4
        Die Idee finde ich sehr cool. Besonders nett daran ist, dass ein modifizierter Codeschnippsel schnell veröffentlicht werden kann, kleine Tipps gepostet werden können, etc. Am Besten, dass ganze kann wie bei einem Blog auch ohne Anmeldung einfach mit Namensnennung geschehen. Über Änderungen im Artikel kann man sich per Mail informieren lassen, so dass der eigene Code auch aktuell bleibt.
        Ich denke, so kann der Code sehr schnell eine hohe Qualität erreichen, viele Leute beschäftigen sich damit und können direkt ihre Ideen dazu nennen. Bei einem Framework müsste dazu ja meist ein aufwendiger Changerequest erstellt werden.
        Finde die Idee sehr interessant!

        Kommentar


        • #5
          Mit "jeder darf" und "ohne Anmeldung" wäre ich vorsichtig. Die Qualität muss jedenfalls hoch sein, sonst hat es keinen Zweck. Da sich Qualität und Anonymität nicht gut vertragen, wäre ich für eine vorsichtigere Variante: Jeder darf seinen Senf ins Wiki schreiben, egal ob Code, Text, Links oder Bilder. Aber erst wenn es ein "qualifizierter" Benutzer geprüft hat, wird es veröffentlicht.

          Kommentar


          • #6
            Mit "jeder darf" und "ohne Anmeldung" wäre ich vorsichtig. Die Qualität muss jedenfalls hoch sein, sonst hat es keinen Zweck. Da sich Qualität und Anonymität nicht gut vertragen, wäre ich für eine vorsichtigere Variante: Jeder darf seinen Senf ins Wiki schreiben, egal ob Code, Text, Links oder Bilder. Aber erst wenn es ein "qualifizierter" Benutzer geprüft hat, wird es veröffentlicht.
            Sehr guter Einwand. Da hast du natürlich recht und das sehe ich ganz genau so wie du. Ich bin doch zu positiv eingestellt ^^

            Kommentar


            • #7
              Original geschrieben von onemorenerd
              Mit "jeder darf" und "ohne Anmeldung" wäre ich vorsichtig. Die Qualität muss jedenfalls hoch sein, sonst hat es keinen Zweck. Da sich Qualität und Anonymität nicht gut vertragen, wäre ich für eine vorsichtigere Variante: Jeder darf seinen Senf ins Wiki schreiben, egal ob Code, Text, Links oder Bilder. Aber erst wenn es ein "qualifizierter" Benutzer geprüft hat, wird es veröffentlicht.
              diese variante nutzt auch wikipedia.

              jede änderung wird vorher von "mederatoren" angeguckt und evtl. freigeschaltet oder gelöscht. dennoch ist eine registration pflicht um überhaupt was hinzuzufügen oder zu ändern.

              natürlich werden mit der zeit auch andere leute spass daran haben, dort "mist" zu posten, ob es jetzt spam ist oder eine funktion die es schon 5 mal gibt.

              aber bei kritiken und anregungen nochmals jemanden drübergucken lassen finde ich auch wiederrun schlecht, da der "moderator" darin rumfuschen könnte, weil jemand seine eigenen funktion "schlecht" redet und dieses nicht sehen will.

              man könnte ewig so weiter machen, worauf man alles achten müssten.

              die idee an sich finde ich super .. wie der aufbau der seite sein sollte da wird man sich lange drüber gedanken machen müssen ... damit man sich schnell zurecht findet und neue funktionen auch im richtigen bereich landen.

              auch sollte man nach der 14253 funktion irgendwie noch wissen/leicht erfahren können, ob es diese funktion schon gibt.
              Gruß
              Uzu

              private Homepage

              Kommentar

              Lädt...
              X