Grundlagenfrage Klassen/Funktionen

Vertigo21

Erfahrenes Mitglied
Neulich fiel mir an einer meiner Seiten auf, dass ich zu Beginn des Codes immer einige Prüfungsvariablen auf Null setzte, und zwar auf jeder Seite. Um das ein wenig besser zu gestalten, wollte ich diesen Teil auslagern. Nur wie? :-(
Ich erinnerte mich an zwei nette Möglichkeiten dazu: Funktionen und Klassen.

Wenn mich meine Erinnerung aber nicht täuscht, kann man bei Funktionen nur Werte zurückgeben, jedoch keine Variablen. Dazu sind dann Klassen da, ODER?

Gibt es irgendwo hier eine Art Grundlagen-Tutorial, eine Seite o.ä., wo solche grundlegenden Sachen beschrieben sind (und deren Anwendung)?
 
Wenn mich meine Erinnerung aber nicht täuscht, kann man bei Funktionen nur Werte zurückgeben, jedoch keine Variablen.
Durch als Referenzen übergebene Parameter oder globalisierte Variablen passen sich auch Variablen außerhalb der Funktion ändern.
 
Danke für die Anmerkung. Aber ich bräuchte eigentlich nur einen Link damit ich dieses (für mich) peinliche Thema als "erledigt" abhaken kann.
 
Hm, beim stöbern (unter Klassen) bei den von dir genannten Adressen bin ich auf was gestoßen, dass ich noch nicht kenne:

PHP:
  <?php
        class Cart
        {
            var $items;  // Artikel in unserem Einkaufswagen
           
            // Füge dem Einkaufswagen $num Artikel der Sorte $artnr zu
         
            function add_item ($artnr, $num)
            {
        	    $this->items[$artnr] += $num;
            }
           
            // Nimm $num Artikel von $artnr aus dem Einkaufswagen
         
            function remove_item ($artnr, $num)
            {
        	    if ($this->items[$artnr] > $num) {
        		    $this->items[$artnr] -= $num;
        		    return true;
        	    } else {
        		    return false;
        	    }   
            }
        }
        ?>
Wenn ich das richtig verstehe, wird mit "var $items" die Variable deklariert (habe ich in PHP zwar noch nie gemacht aber ok).
Aber was bedeutet "$this->" und "-=" "+="?
 
Zuletzt bearbeitet:
Innerhalb einer Klasse werden die Variablen auch bei PHP erzeugt.
Bei PHP5 kann man dann sogar unterscheiden ob auf Variablen von ausserhalb der Klasse zugegriffen werden darf oder nicht.

$this-> bezieht sich auf das Objekt selbst. Der Bezeichner hinter -> ist die Variable im Objekt.

Wenn es also im Objekt eine Variable $name gibt, dann wird die innerhalb des Objektes mit $this->name angesprochen.

+= und -= sind vereinfachte Schreibweisen.
PHP:
$x+=5;
ist das gleiche wie
PHP:
$x=$x+5;
, nur eben kuerzer. ;)

Nachtrag: Schau mal bei den PHP-Tutorials vorbei. Da findest Du einige Klassen und auch ein Tutorial OOP fuer Anfaenger.
 
Zuletzt bearbeitet von einem Moderator:
Zurück