Variablendeklaration in Klassen...

Tim C.

Erfahrenes Mitglied
...oder OOP ich komme.

Servus,
da ich mich jetzt "auftragsgebunden" an die Verwendung von selbstgeschriebenen Klassen in PHP geben, stellt sich mir folgende Frage:
Dieses deklarieren der Variablen über var $varname, zu beginn der Klasse, was für Variablen muss ich da deklarieren ? Weil ich habe auch Artikel gelesen, da ist das nicht gemacht.

mfG
Tim
 
Variablen, die du per
PHP:
var $foo;
deklariertst, sind Klasseninterne Variablen. Die Vorteile sind, dass diese Variable in jeder Funktion der Klasse per
PHP:
$this->foo;
erreichbar sind. Welche Variablen du so deklarierst musst du entscheiden, ist vom Fall abhängig. Im Standartbeispiel mySQL-Klasse wäre es z.B. sinnvoll, die Verbindungs-ID in eine derartige Variable zu stecken. In einer Template-Klasse könnte man z.B. einen Array erstellen, welcher die Inhalte der Templates enthält:
PHP:
<?php
class tpl
{
    var $templates;

    function tpl()
    {
        $this->templates = array();
        // ...
    }

    function load($name)
    {
        $this->templates[$name] = file($name . ".tpl");
    }

    function parse($name)
    {
        // parsen der Variablen
    }

    function get($name)
    {
        return $this->template[$name];
    }
}
?>

Sowas z.B. :)
Weitere gute Beispiele findest du auf PHP.net (Wo sonst? :-))
 
eigentlich die, die du später in vielen funktionen brauchst, sozusagen globale variablen!
(schlagt mich bitte wenn es falsch ist:-) )
ich hab da in einem tutorial nen gutes beispiel gesehen, eine auto klasse!
zuerst werden die eigenschaften des autos festgelegt:
PHP:
class auto() {
  var $marke;
  var $max_speed;
  //bla bla bla
danach kommen die "aktionen" die das auto machen kann:
PHP:
  function fahre_los() {
    //bla bla bla
  }
  function halte_an() {
    //bla bla bla
  }
}
ungefähr so!
nun brauchst du eben in manchen funktionen immer die selben variablen, die du entweder schon festlegen kannst, oder in den funktionen selber werte zuweisen kannst!

hoffe das war so richtig:-(
 
hallo,

also ich hab jetzt schon länger nichts mehr gemacht mit php. aber wenn ich mich recht entsinne, dann habe ich das immer so gehandhabt, dass variablen, die einen "quasi default" wert haben sollten am anfang deklariert wurden und alles andere was klassenglobal sein sollte in der methode selbst definiert wurde per:

$this->variable = 'blubber'

so in etwa.

gruß tim
 
Ich seh schon, da hab ich mir was eingebrockt, aber schätzungsweise bin ich nachher froh darüber, dass ich es gemacht habe.
Ausserdem habe ich ja einen Johannes zur Hand, der mir noch was "schuldig" ist :-)
 
Zurück