Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Oop

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Oop

    Hallo Leute, sorry wenn ich damit ins Anfänger Forum gehöre aber in anderen Foren hab ich noch keine Hilfe gefunden
    Ich hab eine kleine Template funktion geschrieben und möchte aus dieser nun eine Klasse bauen, bin leider ein absoluter OOP Neuling darum suche ich dringen hilfe. Ich könnte auch die Funktion nutzen aber damit lerne ich ja nix.
    die Funktion ist wie folgt:
    Code:
    // Funktion, die die Platzhalter in einem Template mit dem Inhalt füllt
    function FillTemplate($inName, $inValues = array(), $inUnhandled = 'delete') {
    	$theTemplateFile = 'templates/' . $inName;  // <--- Angabe zu der Directory in der die Template Dateien liegen
    	if ($theFile = fopen($theTemplateFile, 'r')) {
        	$theTemplate = fread($theFile, filesize($theTemplateFile));
        	fclose($theFile);
      	}
    	
    	$theKeys = array_keys($inValues);
    
    	foreach ($theKeys as $theKey) {
    		// Hier wird nach dem Schlüssel geguckt und überall wo er auftritt wird er mit dem Inhalt ersetzt
    		$theTemplate = str_replace("\{$theKey}", $inValues[$theKey], $theTemplate);
    	}
    	
    	// ab hier Fehlerbehandulung
    	if ($inUnhandled == 'delete') {
    		// falls es keinen Wert gibt, entferne den Platzhalter damit er nicht angezeigt wird
    		$theTemplate = eregi_replace('{[^ }]*}', '', $theTemplate);
    	} elseif ($inUnhandled == 'comment') {
    		// oder falls es keinen Wert gibt, gib die Meldund undefined im HTML Code aus
    		$theTemplate = eregi_replace('{([^ }]*)}', '', $theTemplate);
    	}
    	return $theTemplate;
    } // Ende der FillTemplate Funktion
    Aufgerufen wird das ganze dann mit
    Code:
    $bindings['TITLE'] = "Meine private Homepage";
    $bindings['STYLE'] = "struktur/daten/style.css";
    echo FillTemplate('header.tpl', $bindings, 'comment');
    Das ist nur ein Beispiel, ich denke das eignet sich sehr gut um eine Klasse daraus zu schreiben...[/code]

  • #2
    OK! Jetzt wissen wir was du machen willst und mit welchen Code. Aber solltest DU das jetzt nicht machen? Ich meine, wenn es jemand anderes macht, lernst du DANN etwas dabei? Wenn du noch überhaupt keine Ahnung von OOP hast, schau dir mal das hier an:

    http://tut.php-q.net/klassen.html
    http://tut.php-q.net/mysql-class.html

    Das dürfte als Einstieg ziemlich gut sein...

    KMAssS

    Kommentar


    • #3
      genau dieses Tut habe ich als leitfaden genommen, aber sorry ich finde den teil über OOP nicht so dolle, da hier auch nicht die Denkweise erläutert wird, sondern nur die Syntax mal gezeigt wird anhand eines Meerschweinchens, was mir hier nicht wirklich weiterhilft
      Ich möchte ja auch gar nicht, dass mir das einer komplett schreibt nur denkanstösse wären supi.
      PS: ich habe das ganez Tutorial durchgearbeitet und auch sehr viel dabei gelernt, nur das Thema OOP find ich nicht so toll, ich habe auch das buch Programmieren mit PHP von OReilly was auch super ist nur OOP wird total beschissen erklärt mit Introspektion usw, was ich nun mal noch gar nicht benötige bei einer soooo kleinen Klasse wie dieser!

      Kommentar


      • #4
        Zitat von koneko
        Ich möchte ja auch gar nicht, dass mir das einer komplett schreibt nur denkanstösse wären supi.
        Wäre auch sinnfrei, da es genug *freie* Templateklassen gibt.

        Zum Thema OOP, Programmierlogik und SQL:
        Geh in die Bibliothek oder in eine Fachbuchhandlung und kaufe Dir die passenden Schmöker. Möglichst keine, die sich auf PHP beziehen. Die OOP Implementierung in PHP ist sehr unvollkommen und nicht das geeignete Mittel, die Möglichkeiten der Objektorientierung zu verstehen.

        Geeignete Spielwiese wäre Java: kost' nüscht, gibt haufenweise Hilfe im Netz und sogar hier in diesem Forum findest Du sicher einige, die Dir diesbezügliche Tips geben können. Allerdings bringt das erst dann was, wenn Du die Grundlagen intus hast. Deshalb: Buch kaufen, leihen oder ... - nein, sowas macht man ja nicht. <g>

        Kommentar


        • #5
          auch dabei bin ich gerade, Java ist da wesentlich besser, das hab ich auch schon rausgefunden, habe da auch ein super buch zu welches zum download bereitsteht auch ganz legal!!! Fachbücher allein über OOP hab ich mir allerdings noch nicht ausgeliehen. Ich dachte eben es wäre kein Problem diese Funktion in eine Klasse umzuschreiben, ich glaub es ist mir auch bereits gelungen, nur das Resultat lässt noch zu wünschen übrig! Was OOP in PHP angeht so soll ja alles besser werden mit PHP 5
          ich kann es nur hoffen!

          Kommentar


          • #6
            Hi,

            ich empfehle dir nicht OOP mit PHP zu lernen, sondern dir einzelne Bücher zu kaufen, die sich mit der OOP beschäftigen. In PHP fehlt leider einiges, was zu einer ordenlichen objektorientierten Programmiersprache (wie z.B. Java) gehört.

            Schau mal auf http://java.sun.com/docs/books/tutor...pts/index.html dort ist die OOP recht gut behandelt. Bezieht sich zwar auf Java, ist aber mit etwas Denkvermögen relativ leicht auf PHP zu beziehen.

            Hoffe, dass ich helfen konnte.

            Grüße,
            Dennis

            Kommentar


            • #7
              Oh, da war ich wohl zu langsam. Meikel hat mir das Wort aus dem Mund genommen.

              Es ist bestimmt kein Problem (habe sie mir nicht angeschaut), diese Funktion in eine Klasse umzuwandeln, jedoch sollte man für das OO programmieren ein Verständnis entwickeln.

              PHP5 geht schon etwas mehr in Richtung objektorientierter Programmiersprache, ist jedoch immernoch weit hinter dem, was man als wirklich oo nennen kann.

              - Dennis

              Kommentar


              • #8
                aha nun bekomme ich angst, dass ich sowas überhaupt verstehe

                Kommentar


                • #9
                  Zitat von Quadaptor
                  Oh, da war ich wohl zu langsam. Meikel hat mir das Wort aus dem Mund genommen.
                  Quark. <g> Ich bin eher froh, daß auch andere meiner Meinung sind.

                  Kommentar


                  • #10
                    Zitat von koneko
                    aha nun bekomme ich angst, dass ich sowas überhaupt verstehe
                    Das wäre falsch. So einen unintelligenten Eindruck (auch "Killer-Intellekt" genannt ) machst Du nicht, daß Du das nicht begreifen würdest.

                    Du mußt nur den Sinn der Objektorientierung begreifen. Die Syntax und sprachspezifische Eigenheiten haste dann mit 'n büschen Handbuchlesen und Quelltextanalyse von diversen PHP-Klassen janz fix im Kasten.

                    Kommentar


                    • #11
                      Wieso angst? Meinst du die OOP oder den englischen Text?

                      Wenn du das erste gemeint haben solltest, kann ich nur sagen, dass es etwas dauert, bis man da wirklich durchblickt. Allerdings wenn man es einmal begriffen hat, will man es nicht mehr meiden.

                      Falls du das zweite meinst, gibt es bestimmt auch noch deutsche Tutorials. Musste mal bei Google suchen.

                      Kommentar


                      • #12
                        nope ich mein ersters, was das englische angeht, dass schaffe ich schon, studiere Anglistik u. stehe kurz vorm abschluss

                        ich dachte halt es kann nicht so schwer sein die funktion in eine Klasse umzuschreiben, finde das es sauberer ist als mit einer reinen Funktion zu arbeiten u. ich war schon froh als die sache funzte, das soll ein gaaaaaaaaaaanz kleines template system werden, für meine eigene site
                        ausserdem macht mir das sehr viel spass also ich mein solche skripte zu schreiben. Nur langsam bekomm ich das Gefühl ich hätte informatik studieren sollen

                        Kommentar


                        • #13
                          Zitat von koneko
                          Nur langsam bekomm ich das Gefühl ich hätte informatik studieren sollen
                          Programmieren basiert auf strukturiertem logischen Denken. Ob hiesige Unis wirklich in der Lage sind, ihren Studenten dieses Talent mit didaktischen Mitteln zu wecken, erlaube ich mir, nachdem ich einige Informatiker erlebt hatte, erst mal zu bezweifeln. Auch Algorithmik ist mehr als ein wenig "bubble-sort"...

                          Kommentar


                          • #14
                            na dann versuche ich es mal mit Gedult, Ehrgeiz und Mut zu Java :wink:

                            Kommentar


                            • #15
                              @meikel: stimmt genau! nicht jeder ist dafür geschaffen zu programmieren. ich kenne leute, die können nach 3 jahren noch nicht programmieren und andere erreichen das gleiche level innerhalb von wenigen monaten.

                              @koneko: um die oo programmierung zu beherrschen, muss du nicht unbedingt java lernen! was meikel (denke ich mal) und ich sagen wollten ist, dass java quasi DIE referenzsprache ist, wenn es um oop geht.
                              es reicht durchaus bücher zu lesen, in denen oop mit java erklärt wird. ich konnte auch oo programmieren bevor ich java gelernt habe.

                              Kommentar

                              Lädt...
                              X