PHP -Tutorial

PHP-HOME PHP-Einführung PHP-Installation PHP-Syntax PHP-Kommentare PHP-Variablen PHP-Echo / Drucken PHP-Datentypen PHP-Strings PHP-Nummern PHP-Mathematik PHP-Konstanten PHP-Operatoren PHP If...Else...Elseif PHP-Schalter PHP-Schleifen PHP-Funktionen PHP-Arrays PHP-Superglobals PHP-RegEx

PHP -Formulare

Handhabung von PHP-Formularen PHP-Formularvalidierung PHP-Formular erforderlich PHP-Formular-URL/E-Mail PHP-Formular vollständig

PHP- Erweitert

PHP-Datum und -Zeit PHP einschließen Umgang mit PHP-Dateien PHP-Datei öffnen/lesen PHP-Datei erstellen/schreiben Hochladen von PHP-Dateien PHP-Cookies PHP-Sitzungen PHP-Filter PHP-Filter für Fortgeschrittene PHP-Callback-Funktionen PHP-JSON PHP-Ausnahmen

PHP -OOP

PHP Was ist OOP PHP-Klassen/Objekte PHP-Konstruktor PHP-Destruktor PHP-Zugriffsmodifikatoren PHP-Vererbung PHP-Konstanten Abstrakte PHP-Klassen PHP-Schnittstellen PHP-Eigenschaften Statische PHP-Methoden Statische PHP-Eigenschaften PHP-Namespaces PHP-Iterables

MySQL- Datenbank

MySQL-Datenbank MySQL Connect MySQL-DB erstellen MySQL-Tabelle erstellen MySQL-Daten einfügen MySQL Letzte ID abrufen MySQL Mehrfach einfügen MySQL vorbereitet MySQL Select-Daten MySQL-Wo MySQL-Reihenfolge nach MySQL-Daten löschen MySQL-Update-Daten MySQL-Limit-Daten

PHP- XML

PHP-XML-Parser PHP-SimpleXML-Parser PHP SimpleXML - Get PHP-XML-Expat PHP-XML-DOM

PHP -AJAX

AJAX-Einführung AJAX-PHP AJAX-Datenbank AJAX-XML AJAX Live-Suche AJAX-Umfrage

PHP- Beispiele

PHP-Beispiele PHP-Compiler PHP-Quiz PHP-Übungen PHP-Zertifikat

PHP- Referenz

PHP-Übersicht PHP-Array PHP-Kalender PHP-Datum PHP-Verzeichnis PHP-Fehler PHP-Ausnahme PHP-Dateisystem PHP-Filter PHP-FTP PHP-JSON PHP-Schlüsselwörter PHP-Libxml PHP-Mail PHP-Mathematik PHP-Sonstiges PHP MySQLi PHP-Netzwerk PHP-Ausgabesteuerung PHP-RegEx PHP-SimpleXML PHP-Stream PHP-String Umgang mit PHP-Variablen PHP-XML-Parser PHP-Zip PHP-Zeitzonen

PHP OOP - Klassen und Objekte


Eine Klasse ist eine Vorlage für Objekte, und ein Objekt ist eine Instanz einer Klasse.


OOP-Fall

Nehmen wir an, wir haben eine Klasse namens Fruit. Eine Frucht kann Eigenschaften wie Name, Farbe, Gewicht usw. haben. Wir können Variablen wie $name, $color und $weight definieren, um die Werte dieser Eigenschaften zu speichern.

Wenn die einzelnen Objekte (Apfel, Banane usw.) erstellt werden, erben sie alle Eigenschaften und Verhaltensweisen von der Klasse, aber jedes Objekt hat unterschiedliche Werte für die Eigenschaften.


Definieren Sie eine Klasse

Eine Klasse wird definiert, indem das class Schlüsselwort verwendet wird, gefolgt vom Namen der Klasse und einem Paar geschweifter Klammern ({}). Alle seine Eigenschaften und Methoden gehen in die geschweiften Klammern:

Syntax

<?php
class Fruit {
  // code goes here...
}
?>

Unten deklarieren wir eine Klasse namens Fruit, die aus zwei Eigenschaften ($name und $color) und zwei Methoden set_name() und get_name() zum Setzen und Abrufen der $name-Eigenschaft besteht:

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

Hinweis: In einer Klasse heißen Variablen Eigenschaften und Funktionen Methoden!


Objekte definieren

Klassen sind nichts ohne Objekte! Wir können mehrere Objekte aus einer Klasse erstellen. Jedes Objekt hat alle Eigenschaften und Methoden, die in der Klasse definiert sind, aber sie haben unterschiedliche Eigenschaftswerte.

Objekte einer Klasse werden mit dem newSchlüsselwort erstellt.

Im folgenden Beispiel sind $apple und $banana Instanzen der Klasse Fruit:

Beispiel

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

Im folgenden Beispiel fügen wir der Klasse Fruit zwei weitere Methoden hinzu, um die Eigenschaft $color zu setzen und zu erhalten:

Beispiel

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - Das Schlüsselwort $this

Das Schlüsselwort $this bezieht sich auf das aktuelle Objekt und ist nur innerhalb von Methoden verfügbar.

Sehen Sie sich das folgende Beispiel an:

Beispiel

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Wo können wir also den Wert der $name-Eigenschaft ändern? Es gibt zwei Möglichkeiten:

1. Innerhalb der Klasse (durch Hinzufügen einer set_name() Methode und Verwendung von $this):

Beispiel

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. Außerhalb der Klasse (durch direkte Änderung des Eigenschaftswerts):

Beispiel

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - Instanz von

Mit dem instanceofSchlüsselwort können Sie prüfen, ob ein Objekt zu einer bestimmten Klasse gehört:

Beispiel

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>