Axel Richter: OOP: Konstanten definieren, Klassen vereinbaren

Beitrag lesen

Hallo,

  1. Wie definiert man in PHP OOP Konstanten?
    Variablen werden explizit definiert mit "var"
    Da liegt doch die Vermutung nahe, dass es auch für Konstanten der Klasse eine eigene Definition gibt. Ich habe aber nun schon bestimmt 60 "Tutorials" für OOP in PHP durch. Erstens taugen die meisten nix und zweitens steht (wahrscheinlich deshalb) nix vernünftiges drin.

In OOP, die wirklich und ausschließlich objektorientiert ist, kann es keine Konstanten geben, weil Konstanten nicht in das Konzept von Klassen und Objekten passen. Einen Wert, der unveränderlich und nur innerhalb einer Klasse gültig sein soll, würde man z.B. in Java als static final Variable innerhalb der Klasse definieren. Eine Konstante, die mehrere Klassen benutzen könnten wäre eine final Variable in einem Interface. PHP ist _nicht_ strict OOP. Es kombiniert konventionelle Programmierung mit OOP.

  1. Darf man _in_ Klassendefinitionen weitere Klassen definieren?

In OOP allgemein: Ja. Das nennt sich Nested Classes. In PHP: keine Ahnung, glaube aber eher Nein ;-))

viele Grüße

Axel