PHP: Unterschied zwischen den Versionen

Aus Mediawiki Ferdinand Gruber
Zur Navigation springen Zur Suche springen
fg>WikiSysop
 
 
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 11: Zeile 11:
  allow_url_fopen = On
  allow_url_fopen = On
Funktioniert aber trotzdem mit Scripten auf Eduhi Server nicht!
Funktioniert aber trotzdem mit Scripten auf Eduhi Server nicht!
Output Buffering ausgeschaltet auf Empfehlung des Installers von Gallery2
# output_buffering = 4096
output_buffering = off
Memory Limit erhöht wegen Gallery2. Daraufhin werden Plugins angezeigt ...
# memory_limit = 16M
memory_limit = 64M
== PHP5 Installation ==
Im Zuge des Systemupdates wurde automatisch PHP5 installiert. Allerdings ohne einige Module, die z.B. für das '''Horde Framework''' notwendig sind.
Folgende Module mit YAST nachinstalliert:
gettext, phpdbase, phpmysql, phpimap, phpodbc, php-doc, selfphp


== PEAR ==
== PEAR ==
Zeile 33: Zeile 18:
Die Installation kann mit YAST oder einem WEB Frontend erfolgen
Die Installation kann mit YAST oder einem WEB Frontend erfolgen
== Notizen ==
== Notizen ==
* Eine Callbackfunktion auf jedes Array Element anwenden
=== Spezielle Operatoren ===
==== Null-Koaleszenz-Operator ====
Der Null-Koaleszenz-Operator <tt>??</tt> liefert den linken Wert, wenn dieser existiert und nicht null ist. Andernfalls wird der rechte Wert verwendet.
$name = $benutzername ?? "Gast";
Vorteil: Kein Error, wenn $<tt>name</tt> nicht definiert ist.
 
=== Globale Variable ===
Das Schlüsselwort <tt>global</tt> 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);
  $newArray = array_map("function_name",$array);
=== Properties kapseln ===
Die Sichtbarkeit von Properties und Methoden wird festgelegt, indem man <tt>public, protected</tt> oder <tt>private</tt> 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 <tt>protected</tt>.
Propterties, die mit einer set_Methode geändert werden, können <tt>private</tt> oder <tt>protected</tt> sein.
# Beispiel
private $width
public function set_width($value) {
    if (! strPos($value,"px") && ! strPos($value,"%") )
        $value .= "px";
      $this->width = $value;
}
[https://www.php.net/manual/de/language.oop5.visibility.php Detailinformationen] in der PHP Dokumentation
== Dokumentation von PHP Projekten ==
Eine Dokumentation kann man erzeugen mit <tt>doxygen</tt>.
: 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 <tt>doxygenwizard</tt> installieren. Das erleichtert die Konfiguration.
* Konfiguration speichern
Doxyfile

Aktuelle Version vom 13. September 2026, 09:55 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.

$name = $benutzername ?? "Gast";

Vorteil: Kein Error, wenn $name nicht definiert ist.

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