PHP: Unterschied zwischen den Versionen

Aus Mediawiki Ferdinand Gruber
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 27: Zeile 27:
  else $Name = "Gast
  else $Name = "Gast


Verkürzte Form mit dem ull-Koaleszenz-Operator
Verkürzte Form mit dem Null-Koaleszenz-Operator
  $name = $benutzername ?? "Gast";
  $name = $benutzername ?? "Gast";
<span style="color:red">Der Null-Koaleszenz Operator reagiert NICHT auf einen Leerstring.</span>
<span style="color:red">Der Null-Koaleszenz Operator reagiert NICHT auf einen Leerstring.</span>
Es gibt auch einen '''Null-Koaleszenz Zuweisungsoperator'''
$_SESSION["lastState"] ??= "";
Wenn die Session-Variable nicht existiert, wird sie erzeugt und erhält einen Leerstring als Wert.


==== Ternärer Operator ====
==== Ternärer Operator ====
Zeile 35: Zeile 39:


==== Elvis Operator ====
==== Elvis Operator ====
Eine verkürzte Form des ternären Operators nrennt sich Elvis-Operator
Eine verkürzte Form des ternären Operators nennt sich Elvis-Operator
  $wert ?: $ersatz;
  $wert ?: $ersatz;
Der Elvis-Operator reagiert auf alle falsy-Werte<span style="color:red"> null, false, 0, "0"</span>
Der Elvis-Operator reagiert auf alle falsy-Werte<span style="color:red"> null, false, 0, "0"</span>

Aktuelle Version vom 5. November 2026, 19:34 Uhr

Konfiguration

  • Änderungen an der Datei /etc/php5/apache2/php.ini

Um Fehlermeldungen von Joomla zu vermeiden:

date.timezone = CET

Sicherheit

register_globals = off
display_errors = Off
error_log = /var/log/apache2/php.log

Einbinden von Remote Scipten ermöglichen:

allow_url_include = On
allow_url_fopen = On

Funktioniert aber trotzdem mit Scripten auf Eduhi Server nicht!

PEAR

  • PHP Extension and Application Repository
Pear Website: http://pear.php.net/
  • Installation

Die Installation kann mit YAST oder einem WEB Frontend erfolgen

Notizen

Spezielle Operatoren

Null-Koaleszenz-Operator

Der Null-Koaleszenz-Operator ?? liefert den linken Wert, wenn dieser existiert und nicht null ist. Andernfalls wird der rechte Wert verwendet.

Vorteile: Kein Error, wenn $name nicht definiert ist. Mit diesem Operator vermeidet man isset() Abfragen.

if (isset($Benutzername)
   $name = $Benutzername
else $Name = "Gast

Verkürzte Form mit dem Null-Koaleszenz-Operator

$name = $benutzername ?? "Gast";

Der Null-Koaleszenz Operator reagiert NICHT auf einen Leerstring.

Es gibt auch einen Null-Koaleszenz Zuweisungsoperator

$_SESSION["lastState"] ??= "";

Wenn die Session-Variable nicht existiert, wird sie erzeugt und erhält einen Leerstring als Wert.

Ternärer Operator

$wert = $wert ? $wert : $ersatz;

Elvis Operator

Eine verkürzte Form des ternären Operators nennt sich Elvis-Operator

$wert ?: $ersatz;

Der Elvis-Operator reagiert auf alle falsy-Werte null, false, 0, "0"

Globale Variable

Das Schlüsselwort global stellt die Verbindung zur globalen Variable her. Die Zuweisung erzeugt beziehungsweise initialisiert die Variable tatsächlich.

global $auth;
$auth = new auth($this->authConfig);

Durch die Zuweisung wird die globale Variable $GLOBALS["auth"] erzeugt.

Callback Funktion

Eine Callbackfunktion auf jedes Array Element anwenden

$newArray = array_map("function_name",$array);

Properties kapseln

Die Sichtbarkeit von Properties und Methoden wird festgelegt, indem man public, protected oder private der Deklaration voranstellt. Wenn eine Property für die Implementierung der Klasse und ihrer Unterklassen gedacht ist, aber nicht Teil der öffentlichen Schnittstelle sein soll, verwendet man protected.

Propterties, die mit einer set_Methode geändert werden, können private oder protected sein.

  1. Beispiel
private $width
public function set_width($value) {
    if (! strPos($value,"px") && ! strPos($value,"%") )
        $value .= "px";
     $this->width = $value;
}

Detailinformationen in der PHP Dokumentation

Dokumentation von PHP Projekten

Eine Dokumentation kann man erzeugen mit doxygen.

Dieses Programm scannt rekursiv alle PHP Dateien in einem Verzeichnis und erstellt eine HTML Datei. Variablendeklarationen und Funktionen werden automatisch erkannt und in der HTML Datei aufgelistet.
  • Installation mit YAST

Zusätzlich kann man die GUI doxygenwizard installieren. Das erleichtert die Konfiguration.

  • Konfiguration speichern
Doxyfile