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 - Zugriffsmodifikatoren


PHP - Zugriffsmodifikatoren

Eigenschaften und Methoden können Zugriffsmodifikatoren haben, die steuern, wo auf sie zugegriffen werden kann.

Es gibt drei Zugriffsmodifikatoren:

  • public- Auf die Eigenschaft oder Methode kann von überall zugegriffen werden. Dies ist Standard
  • protected- Auf die Eigenschaft oder Methode kann innerhalb der Klasse und von Klassen, die von dieser Klasse abgeleitet sind, zugegriffen werden
  • private- Auf die Eigenschaft oder Methode kann NUR innerhalb der Klasse zugegriffen werden

Im folgenden Beispiel haben wir drei verschiedenen Zugriffsmodifikatoren zu drei Eigenschaften hinzugefügt (Name, Farbe und Gewicht). Wenn Sie hier versuchen, die Namenseigenschaft festzulegen, funktioniert dies problemlos (weil die Namenseigenschaft öffentlich ist und von überall aus darauf zugegriffen werden kann). Wenn Sie jedoch versuchen, die Eigenschaft color oder weight festzulegen, führt dies zu einem schwerwiegenden Fehler (da die Eigenschaft color und weight geschützt und privat sind):

Beispiel

<?php
class Fruit {
  public $name;
  protected $color;
  private $weight;
}

$mango = new Fruit();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>

Im nächsten Beispiel haben wir Zugriffsmodifikatoren zu zwei Funktionen hinzugefügt. Wenn Sie hier versuchen, die Funktion set_color() oder set_weight() aufzurufen, führt dies zu einem schwerwiegenden Fehler (da die beiden Funktionen als geschützt und privat betrachtet werden), selbst wenn alle Eigenschaften öffentlich sind:

Beispiel

<?php
class Fruit {
  public $name;
  public $color;
  public $weight;

  function set_name($n) {  // a public function (default)
    $this->name = $n;
  }
  protected function set_color($n) { // a protected function
    $this->color = $n;
  }
  private function set_weight($n) { // a private function
    $this->weight = $n;
  }
}

$mango = new Fruit();
$mango->set_name('Mango'); // OK
$mango->set_color('Yellow'); // ERROR
$mango->set_weight('300'); // ERROR
?>