s PHP Class Tutorial - PHP Klassen erklärt
  PHP Kurs Logo  
 
Buttons PHP Kurs - Kapitel Trennlinie Was brauche ich ? Trennlinie Kontakt Trennlinie Impressum & Datenschutz Buttons
 
 
Menu
Allererste PHP Schritte
- Webserver Installation
- PHP Editor Installation

PHP Grundlagen
- PHP Grundwissen
- Mein erstes Programm
- Kommentare einfügen
- Variablen
- PHP+HTML mischen
- If Abfragen
- Rechenarten
- Arrays
- Schleifen
- Funktionen
- Klassen
- Includes
- Sessions und Cookies
- Login mit Sessions
- Login mit Datenbank
- Referer auslesen
- Wert aus Datenbank
- Variablen übergeben

MySQL Grundlagen
- Was ist das ?
- Erste Schritte
- Verbindung herstellen
- Einfache SQL Befehle
- SQL Injection

Häufig gefragt
- Was ist Adwords ?
- Interessante Links
- Wasserzeichen mod_rewrite
- Thumbnails erstellen
- PHP Gästebuch
- PHP Header
- Webseiten auslesen
- Socket Verbindungen
- E-Mail Adressen prüfen
- E-Mails versenden
- $_GET & $_POST
- Datenbank sichern
- Server DDOS Angriffe Abwehren
- Webhosting - Worauf ist zu achten ?

Interessante Artikel


Klassen in PHP - eine Bibliothek für Funktionen

Jetzt wissen wir was Funktionen sind. Wenn Ihr jetzt unzählige einzelne Funktionen schreibt und diese alle im Quellcode habt, wird es irgendwann auch unübersichtlich. Aus diesem Grund nimmt man alle Funktionen und vereint diese alle zusammen in einer Klasse - einer Bibliothek für Funktionen. Sinnigerweise unterteilt man am besten die Klassen dann noch nach dem was Sie machen. Zum Beispiel eine Klasse um E-Mails zu bearbeiten, zu versenden - eine Klasse um Grafiken zu erstellen, zu kopieren, zu verkleinern - eine weitere Klasse wieder für andere Funktionen die vom Thema zusammengehören.

Diese Klassen packt man in extra Dateien. So hat man sich Standardfunktionen geschaffen die man immer wieder verwenden kann, ob in diesem Programm welches Ihr gerade schreibt oder im nächsten Programm.

Es können Variablen innerhalb einer Klasse definiert werden, auf die auch sämtliche Funktionen zugreifen können. Funktionen (Methoden) innerhalb einer Klasse können sich auch gegenseitig aufrufen.

Beispiel:

<?php
    
class meineklasse
        
{
        var 
$testvariable "12345";

        function 
meineklasse()
            {
            
# dieses "function" heisst wie die Klasse - sobald die
            # Klasse mit NEW erstellt wird, wird diese function
            # als erstes aufgerufen - ohne dass wir sie manuell
            # starten
            
}

        function 
schreibehallo()
            {
            echo 
"Hallo<br>";
            }

        function 
schreibetext($text)
            {
            echo 
$text "<br>";
            }

        function 
schreibetestvariable()
            {
            echo 
$this->testvariable "<br>";
            }
        }

    
$h = NEW meineklasse();
    
$h->schreibehallo();
    
$h->schreibetext("du da ...");
    
$h->schreibetestvariable();

    
$h->testvariable "67890";
    
$h->schreibetestvariable();
?>

Ausgabe:Hallo
du da ...
12345
67890

Mit class meineklasse haben wir die Klasse geöffnet und Ihr den namen meineklasse gegeben. Innerhalb der geschwungenen Klammern von class haben wir unsere ganzen Funktionen getan. Die internen Funktionen eines Objekts (der Klasse) sind Methoden. Die Klasse ist jetzt fertig, aber wir müssen die Klasse in PHP erstellen , instanzieren bevor wir sie verwenden können.

Jetzt möchten wir die Klasse meineklasse benutzen und teilen dies php mit $h = NEW meineklasse(); mit. In $h befindet sich nun die Klasse, das Objekt. Auf sämtliche Funktionen (Methoden) innerhalb dieser Klasse greifen wir mit -> zu, so z.B. $h->schreibehallo();.

Der Konstruktur

Wie Ihr seht existiert eine Funktion, die genauso heisst wie wir die Klasse genannt haben. Dies nennt man Konstruktor. Dies wird aufgerufen , sobald wir php sagen, dass wir die Klasse in $h instanziert haben möchten. Dieser Konstruktor muss nicht unbedingt vorhanden sein. Man könnte hier Startwerte erstellen oder ähnliches.

Nach der Instanzierung von meineklasse in $h, rufe ich die erste function in der Klasse auf ; $h->schreibehallo(); ; danach werden noch zwei weitere Funktionen aufgerufen, um Text auszugeben.

$this-> in php - Aufrufe innerhalb der Klasse

$h->schreibetestvariable(); gibt die Variable aus, die wir innerhalb! der Klasse definiert haben. Theoretisch gesprochen müsste die Klasse die Variable auch mit $h->testvariable ansprechen, da die Klasse selbst aber nicht wissen kann ob der Programmierer die Klasse in $h instanziert hat (oder in einer anderen x-beliebigen die ich ja nennen kann wie ich möchte) gibt es den Standard, dass man innerhalb einer Klasse auf sämtliche Funktionen und Variablen mit $this-> zugreift. Ich könnte auch zweimal NEW schreiben und die Klasse einmal in $h und in $c instanzieren. Jede Klasse in $h und in $c wäre für sich - die eine hat mit der anderen nichts zu tun, sie sind nur aus der gleichen Klasse entstanden.

Rufe ich die Funktion schreibehallo(); auf, dann tue ich dies von aussen jetzt mit $h->schreibehallo(); . Würde ich schreibehallo(); IN DER KLASSE zum Beispiel in der Funktion schreibetext aufrufen wollen, dann müsste ich sie mit $this->schreibehallo(); aufrufen.

Verwirrt ? Beispiel:

<?phpphp
    class meineklasse
        {
        function schreibehallo()
            {
            echo "Hallo<br>";
            }

        function schreibeduda()
            {
            echo "du da...<br>";
            }

        function schreibetext()
            {
            $this->schreibehallo();    # Funktion aufrufen/starten
            $this->schreibeduda(); # Funktion aufrufen/starten
            }

        }

    $h = NEW meineklasse();
    $h->schreibetext();
?>

Ausgabe:Hallo
du da ...

Man kann Klassen auch vererben und eine Klasse von einer anderen Klasse aus aufrufen, allerdings gehört dieses nicht in einen Anfängerkurs. Dadurch könnte ich unterschiedliche Klassen nutzen und diese miteinander "verschmelzen".





<<<< zurück Kapitelauswahl vorwärts >>>>






Content
 
  Bottom Design  

PepperTools.de Software Download | Software Shop
PepperTools Software Shop