Klasse

Aus php bar
Wechseln zu: Navigation, Suche

Klasse

Eine Klasse ist ein 'Raum' den sich Funktionen und Variablen teilen. Sie dient als Vorlage (Schablone) für Objekte. Aus einer Klasse können beliebig viele Objekte erstellt werden.

Einfache Klasse in PHP4

 /**
  * Beispiel-Klasse
  */
 class meineKlasse
 {
     /**
      * @var mixed $meine_variable Beispiel-Variable
      */
     var $meine_variable;
10     
11     /**
12      * Beispiel-Funktion
13      *
14      * @uses $this->meine_variable als Rückgabewert
15      * @return mixed $this->meine_variable
16      */
17     function meineFunktion()
18     {
19         return $this->meine_variable;
20     }
21 }


Einfache Klasse in PHP5

 /**
  * Beispiel-Klasse
  */
 class meineKlasse
 {
     /**
      * @var mixed $meine_variable Beispiel-Variable
      */
     public $meine_variable;
10     
11     /**
12      * Beispiel-Funktion
13      *
14      * @uses $this->meine_variable als Rückgabewert
15      * @return mixed $this->meine_variable
16      */
17     public function meineFunktion()
18     {
19         return $this->meine_variable;
20     }
21 }


Komplexe Klasse in PHP4

 /**
  * Beispiel-Klasse
  */
 class meineKlasse
 {
     /**
      * @var integer $id Objekt-ID
      */
     var $id;
10 
11     /**
12      * @var string $name Objekt-Name
13      */
14     var $name;
15     
16     /**
17      * Konstruktor
18      *
19      * @uses $this->setId()
20      * @param integer $id neue Objekt-ID
21      */
22     function meineKlasse($id = 0)
23     {
24         $this->setId($id);
25     }
26     
27     /**
28      * setzt die Objekt-ID
29      *
30      * @uses $this->id zum setzen
31      * @param integer $id neue Objekt-ID
32      */
33     function setId($id)
34     {
35         $this->id = (int) $id;
36     }
37 
38     /**
39      * gibt die Objekt-ID zurück
40      *
41      * @uses $this->id als Rückgabewert
42      * @return integer $this->id
43      */
44     function getId()
45     {
46         return $this->id;
47     }
48 
49     /**
50      * setzt den Objekt-Namen
51      *
52      * @uses $this->name zum setzen
53      * @param string$name neuer Objekt-Name
54      */
55     function setName($name)
56     {
57         $this->name = trim($name);
58     }
59 
60     /**
61      * gibt den Objekt-Namen zurück
62      *
63      * @uses $this->name als Rückgabewert
64      * @return string $this->name
65      */
66     function getName()
67     {
68         return $this->name;
69     }
70 
71     /**
72      * gibt den Namen plus ID des Objekts zurück
73      * <code>
74      * $mein_objekt =& new meineKlasse(5);
75      * $mein_objekt->setName('Mein erstes Objekt');
76      * echo $mein_objekt->get();  // prints Mein erstes Objekt (5)
77      * </code>
78      *
79      * @uses $this->getId()
80      * @uses $this->getName()
81      * @return string Name plus ID in Klammern
82      */
83     function get()
84     {
85         return $this->getName . ' (' . $this->getId() . ')';
86     }
87 }


Komplexe Klasse in PHP5

 /**
  * Beispiel-Klasse
  */
 class meineKlasse
 {
     /**
      * @var integer $_id Objekt-ID
      */
     protected $_id;
10 
11     /**
12      * @var string $_name Objekt-Name
13      */
14     protected $_name;
15     
16     /**
17      * Konstruktor
18      *
19      * @param integer $id neue Obejkt-ID
20      */
21     function __construct($id = 0)
22     {
23         $this->_id = $id;
24     }
25     
26     /**
27      * Setzen einer Eigenschaft
28      * @param integer $property Name der Eigenschaft
29      * @param mixed $value Der Wert der Eigenschaft
30      */
31     public function __set($property, $value)
32     {
33         switch ($property) {
34             case 'id': // neue Objekt-ID
35                 $this->_id = (int) $id;
36                 break;
37             case 'name': // neuer Objekt-Name
38                 $this->_name = trim($name);
39                 break;
40             default:
41                 $value = null;
42         }
43         return $value;
44     }
45 
46     /**
47      * Gibt eine Eigenschaft zurück
48      * @param string $property Der Name der Eigenschaft
49      * @return mixed
50      */
51     public function __get($property)
52     {
53         switch ($property)
54         {
55             case 'id': // Objekt-ID
56                 $result = $this->_id;
57                 break;
58             case 'name': // neuer Objekt-Name
59                 $result = $this->_name;
60                 break;
61             default:
62                 $result = null;
63         }
64         return $result;
65     }
66 
67     /**
68      * Gibt den Namen plus ID des Objekts zurück
69      * <code>
70      * $mein_objekt = new meineKlasse(5);
71      * $mein_objekt->name = 'Mein erstes Objekt';
72      * echo $mein_objekt;  // prints Mein erstes Objekt (5)
73      * </code>
74      *
75      * @return string Name plus ID in Klammern
76      */
77     public function __tostring()
78     {
79         return $this->name . ' (' . $this->id . ')';
80     }
81 }