müller: kleines Projekt zum weiterlernen - Planng, Version, Update, etc

Hallo,

seit einiger Zeit bin ich auf dem langen und steinigen Weg PHP im Motto von SelfHTML selber durch learning by doing zu lernen.

Zuletzt bin ich in die OOP eingestiegen, die seit PHP 5.0 ja auch ganz ordentlich zu sein scheint.

Um nun OOP und allgemein meine PHP-Kenntnisse etwas zu vertiefen möchte ich ein kleineres, für mich grüßeres, Projekt starten.

Hier stellten sich mir bei der Planung einige Fragen:

  • Wie kann ich in PHP sauber irgendwie Versionen o.ä. führen?
      Und dann dementsprechen auch nur die geänderten Daten überschreiben und gegebenenfalls eine UpdateRoutine laufen lassen, die mir auch Datenbanken etc. anpasst?
  • Ist dieser PHP-Kommentier-Stil, der irgendwo im Netz "standardisiert" sein soll, wirklich so sinnvoll? Ich legte bisher immer sehr viel Wert auf sauberen Code und Kommentare, aber ich halte es für etwas Übertrieben für jede Methode jeden einzelnen Parameter zu kommentieren mit Typ etc. Deshalb zerbreche ich mir ja extra den Kopf für aussagekräftige Variablen-/Parameternamen und schreibe diese übersichtlich.
  • Ist es sinnvoll in einem Projekt auf z.B. PEAR-Klassen zurückzugreifen? Gerade die PEAR-Klassen haben ja einen recht guten Ruf und sind ja auch frei verwendbar. Oder ist es dennoch sinnvoll diese Klassen selber zu schreiben (bei mir geht es z.B. um die NestedSets-Klasse) obwohl man wohl nie an PEAR rankommen wird.

Letztendlich ist das wichtigste eigentlich nur die Versionskontrolle und ChangeLogs oder ähnliches, was es da für PHP-Projekte für Möglichkeiten gibt.

Gruß

  1. echo $begrüßung;

    • Wie kann ich in PHP sauber irgendwie Versionen o.ä. führen?

    Versionen wovon? Suchst du ein Versionsverwaltungssystem à la Subversion oder CVS?

    Und dann dementsprechen auch nur die geänderten Daten überschreiben und gegebenenfalls eine UpdateRoutine laufen lassen, die mir auch Datenbanken etc. anpasst?

    Datenbanken upzudaten ist mir auch noch keine andere Lösung begegnet als Update-Scripte zu schreiben, bei denen eins von Version X auf Y updatet und eins von Y auf Z usw.

    • Ist dieser PHP-Kommentier-Stil, der irgendwo im Netz "standardisiert" sein soll, wirklich so sinnvoll?

    PHPDoc abgeleitet von Javadoc? Ich denke ja. Besonders wenn man Werkzeuge hat, die diese Kommentare auswerten und beim Programmieren anzeigen können. Als beste Codevervollständigung ist mir bisher die von Zend Studio aufgefallen.

    Ich legte bisher immer sehr viel Wert auf sauberen Code und Kommentare, aber ich halte es für etwas Übertrieben für jede Methode jeden einzelnen Parameter zu kommentieren mit Typ etc. Deshalb zerbreche ich mir ja extra den Kopf für aussagekräftige Variablen-/Parameternamen und schreibe diese übersichtlich.

    Das ist soweit löblich. In den Variablennamen sind nur keine Zusatzinformationen wie der erlaubte Wertebereich enthalten. Auch die möglicherweise unterschiedlichen Rückgabewerte sind kommentierwürdig. Auch Anwendungsbeispiele sind nie verkehrt. Solange du nur für dich selbst programmierst mag dir die Kommentierung nicht so wichtig erscheinen. Was ist aber, wenn du mal was veröffentlichen möchtest? Schau dir mal die Kommentierung von fremdem Code an, und beurteile, ob die so sinnvoll ist und dir von Nutzen ist. Obendrein gibt es Tools, die dir aus den Kommentaren gleich eine Dokumentation erstellen können.Mit der Zeit wird dir dein eigener Code fremd vorkommen, wenn du ihn eine Weile nicht benutzt hast. Dann hilft gute Kommentierung, und Codevervollständigung ist auch nicht zu verachten.

    • Ist es sinnvoll in einem Projekt auf z.B. PEAR-Klassen zurückzugreifen?

    Es ist vermutlich sinnvoll auf all das zurückzugreifen, was dir zur Erlangung deines eigenen Zieles hilfreich ist und nicht zu viele Nebenwirkungen hat.

    Oder ist es dennoch sinnvoll diese Klassen selber zu schreiben (bei mir geht es z.B. um die NestedSets-Klasse) obwohl man wohl nie an PEAR rankommen wird.

    Muss sie das? Reicht es nicht aus, wenn sie deine Aufgabenstellung erfüllt ohne darüber hinauszugehen?

    Letztendlich ist das wichtigste eigentlich nur die Versionskontrolle und ChangeLogs oder ähnliches, was es da für PHP-Projekte für Möglichkeiten gibt.

    Also doch SVN/CVS/... Da gib es nichts direkt für PHP zugeschnittenes. Im Allgemeinen reicht das was Subversion und CVS von Haus aus mitbringen.

    echo "$verabschiedung $name";

    1. Hallo,

      vielen Dank für deine Antwort.

      Dann werde ich mir wohl SVN und/oder CVS mal anscgeuen müssen, aber das scheint mir sehr mächtig und die Unterstüzung auf meinem VHost halte ich für fraglich. Mal sehn.

      Das mit den Tools, die gleich eine Dokumentation bauen klingt superinteressant. Wo finde ich sowas? Da muss ich mich dann aber an den Standard halten - das leuchtet mir ein.

      Viele Grüße
      müller

      1. echo $begrüßung;

        Das mit den Tools, die gleich eine Dokumentation bauen klingt superinteressant. Wo finde ich sowas?

        Wenn du nach phpdoc suchst, wirst du fündig. Um mal zwei zu nennen: phpDocumentor, Doxygen. Auch PHPEdit, eine PHP-IDE für Windows, bringt da was mit.

        Da muss ich mich dann aber an den Standard halten - das leuchtet mir ein.

        Es gibt keinen definierten Standard. Es ist alles nur mehr oder weniger an Javadoc angelehnt. Es gibt aber Tags, die wohl alle können. Vielleicht sind einige Tools auch nicht PHP5-geeignet. PHP4 kannte ja beispielsweise keine Sichtbarkeitsmodifizierer (public, private, usw.). Dafür gab es Phpdoc-Tags. Die braucht man für PHP5 nicht mehr. Stattdessen muss sich der Dokumentor diese Information aus dem PHP-Quelltext holen. Es ist keine schlechte Idee, die Tools auszutesten, bevor du dich auf eins festlegst.

        echo "$verabschiedung $name";