nuji: gutes tutorial für classen und object

Hi,

hat jemand ein gutes tutorial für classen und objecte in php?

möchte mich damit beschäftigen...

  1. Hi,

    hat jemand ein gutes tutorial für classen und objecte in php?

    möchte mich damit beschäftigen...

    Hi!

    versuche es doch mal mit SelfPHP???!!!???

    http://www.selfphp.de/praxisbuch/praxisbuch.php?group=37

    1. ...wie konnte ich das übersehen ^^

      thx

      Aber noch ne Frage:
      Lohnt es sich jetzt überhaupt zwanghaft eine sinnvolle Klasse zu finden für relativ simple Sachen?
      z.B. denke ich da an die Seitenweise ausgabe von Gästebucheinträgen (mysql); mir fiele eigtl keine sinnvolle Klasse ein...außer man macht eine Klasse für die Seitenweise ausgabe ein Object wäre dann jeweils eine Seite...

      aber bringt das krampfhafte verwenden einer Klasse (hier) was?

      grüßle

      1. Aber noch ne Frage:
        Lohnt es sich jetzt überhaupt zwanghaft eine sinnvolle Klasse zu finden für relativ simple Sachen?

        => Das liegt im Auge des Betrachters bzw. sollte man sich nicht nur mit OOP beschaäftigen/auskennen sondern auch mit

        OOA (http://de.wikipedia.org/wiki/Objektorientierte_Analyse)

        und

        OOD (http://de.wikipedia.org/wiki/Objektorientiertes_Design)

        z.B. denke ich da an die Seitenweise ausgabe von Gästebucheinträgen (mysql); mir fiele eigtl keine sinnvolle Klasse ein...außer man macht eine Klasse für die Seitenweise ausgabe ein Object wäre dann jeweils eine Seite...

        => Meiner Meinung nach wäre das dann schon ein Designfehler. Da eine Seite ein eigenes Objekt ist. Ein Objekt ist ein Eintrag im Gästebuch das du mit Hilfe von (De-)Serialisierung in/aus der Datenbank schreiben/füllen kannst.

        Wieviele Objekte du dann pro Seite anzeigen läßt ist dann relativ...

        MFG
        Jungesmedium

        1. Hellihello

          OOA (http://de.wikipedia.org/wiki/Objektorientierte_Analyse)

          und

          OOD (<//http://de.wikipedia.org/wiki/Objektorientiertes_Design>)

          Linkgenerator

          1. Linkgenerator

            Herzlichen Dank für den Tipp!!!

        2. hi,

          also ich hab jetzt da so rumexperimentiert mit den klassen und objecten...und ich muss sagen das amcht mal wirklch spaß...in verbindung mit mysql_fetch_object macht's umsomehr spaß, weil man dann gleich mehrere Objekte hat...

          nur eine Frage hat sich mir dabei gestellt, trotzdem es soviel spaß macht: Wann brauche ich das mal wirklich?
          Ich habe bei meine gästebuch etwas damit rumgespielt, und eine klasse gästebucheintrag angelegt, aber wirklich sinnvoll ist es bei einer simplen ausgabe von datensätze seitenweise nicht..oder?

          Kann mir jemand ein praktisches Beispiel geben, wo Klassen wirklich sinnvoll sind?

          gruß

          1. echo $begrüßung;

            Kann mir jemand ein praktisches Beispiel geben, wo Klassen wirklich sinnvoll sind?

            Die OOP wurde erfunden, weil die bisherige Arbeit nur mit Funktionen und extra gehaltenen Daten unpraktisch und unübersichtlich wurde. Für Wald- und Wiesen-Script ist sie möglicherweise Overkill. Doch auch da lassen sich Objekte einsetzen. Beispielsweise beim Datenbankzugriff. Normalerweise erzeugt man beim Verbinden eine Verbindungskennung, die man an weitere Datenbankfunktionen weiterreichen müsste. (PHP macht das bei nur einer Verbindung zwar automatisch, aber gehen wir mal davon aus, dass der Ordnung halber die Verbindungkennung immer als Parameter mitgegeben wird.) Mit PDO - eine Datenbankabstraktionsschicht - erzeugt man stattdessen ein Objekt, dessen Methoden man aufruft, um bestimmte Dinge zu erreichen

            (Beispiel aus dem Handbuch genommen und leicht bearbeitet)

            try {  
              $dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');  
              $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
              $dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL);  
              
              $dbh->beginTransaction();  
              $dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");  
              $dbh->exec("insert into salarychange (id, amount, changedate) values (23, 50000, NOW())");  
              $dbh->commit();  
              
            } catch (Exception $e) {  
              $dbh->rollBack();  
              echo "Failed: ", $e->getMessage();  
            }
            

            PDO::ATTR_CASE und Konsorten sind Klassenkonstanten. Diese Konstanten stehen für einen bestimmten Wert, dem man damit einen sprechender Namen gegeben hat. Diese Konstanten werden aber nur Im Zusammenhang mit PDO benötigt, sie müssen also nicht im globalen Konstanten-Raum angelegt werden und geraten damit in Konflikt mit gleichnamigen Konstanten anderer Anwendungsfälle.

            Diese durch die Klassen entstehenden Namensräume bringen Ordnung in die Ansammlung von Funktionen und Variablen, die sich im Laufe der Zeit in der eigenen Funktionssammlung bzw. in den Scripten ansammeln. Die Daten bilden mit den auf sie anwendbaren Methoden eine Einheit.

            echo "$verabschiedung $name";