4D v14.3

Unterstützung von PHP Modulen

Home

 
4D v14.3
PHP
Unterstützung von PHP Modulen

Unterstützung von PHP Modulen  


 

 

Dieser Anhang beschreibt, wie Sie PHP Module in 4D integrieren können. Folgende Themen werden behandelt:

  • Liste der Standard PHP Module, die mit dem PHP Interpreter von 4D standardmäßig geliefert werden
  • Liste der Standard PHP Module, die in 4D nicht enthalten sind
  • Anweisungen zum Installieren zusätzlicher Module

Hinweis: Um zusätzliche Module zu installieren, müssen Sie einen externen FastCGI-php Interpreter verwenden (siehe Anderen PHP Interpreter und andere php.ini Datei verwenden). 

Nachfolgende Tabelle listet die PHP Module auf, die mit 4D standardmäßig geliefert werden.

NameWeb SiteBeschreibung
BCMathhttp://php.net/bcBinärer Kalkulator zum Verwalten von Nummern jeglicher Größe und Genauigkeit, dargestellt als Strings.
Beispiel:
 C_LONGINT($value;$result)
 $value:=4
 $ok:=PHP Execute("";"bcpow";$result;$value;3)
Calendarhttp://php.net/calendarSatz Funktionen, um die Konvertierung verschiedener Kalenderformate zu vereinfachen. Basiert auf der Berechnung nach julianischem Datum.
Beispiel:
 C_LONGINT($NumberOfDays)
 $ok:=PHP Execute("";"cal_days_in_month";$NumberOfDays;1;2;2010)
Ctypehttp://php.net/ctypeFunktionen zum Prüfen, ob ein Zeichen oder eine Zeichenkette zu einer bestimmten Zeichenklasse gehört, abhängig von der aktuellen lokalen Konfiguration.
Beispiel:
  // Prüfen, ob alle Zeichen des gelieferten String Satzzeichen sind
 C_TEXT($myString)
 $myString:=",.;/"
 $ok:=PHP Execute("";"ctype_punct";$isPunct;$myString)
Date and Timehttp://php.net/datetimeDatum und Zeit von dem Server zurückbekommen, wo das PHP Skript ausgeführt wurde
Beispiel:
  //Berechnung der Zeit des Sonnenaufgangs in Lissabon, Portugal
  //Breitengrad: 38.4 Nord
  //Längengrad: 9 West
  //Zenit ~= 90
  //Zeitverschiebung: +1 GMT
 C_TIME($SunriseTime)
 $ok:=PHP Execute("";"date_sunrise";$SunriseTime;0;1;38,41;-9;90;1)
DOM (Document Object Model)http://php.net/domXML Dokumente via DOM API in PHP 5 verwenden.
Exifhttp://php.net/exifMit Bild Metadaten arbeiten.
Fileinfo(*)http://php.net/fileinfoTyp des Inhalts und Codierung einer Datei herausfinden.
Filterhttp://php.net/filterDaten von einer nicht-sicheren Quelle bestätigen und filtern, z.B. Benutzereingaben.
Beispiel:
 C_LONGINT($filterId)
 C_TEXT($result)
 $ok:=PHP Execute("";"filter_id";$filterId;"validate_email")
 $ok:=PHP Execute("";"filter_var";$result;"hop@123.com";$filterId)
FTP (File Transfert Protocol)http://php.net/ftpDetaillierter Zugriff auf einen FTP Server
Hashhttp://php.net/hashMessage Digest engine. Ermöglicht direktes oder inkrementelles Bearbeiten von Meldungen mit wilkürlicher Länge über eine Reihe von Hash Algorithmen.
Beispiel:
 C_TEXT($md5Result)
 $ok:=PHP Execute("";"md5";$md5Result;"this is my string to hash")
GD (Graphics Draw) Libraryhttp://php.net/gdMit Bildern arbeiten
Iconvhttp://php.net/iconvKonvertierung von Dateien zwischen verschiedenen Zeichensätzen
JSON (JavaScript Object Notation)http://php.net/jsonImplementierung des JSON Datenaustauschformats
LDAPhttp://php.net/ldapLDAP  ist ein Zugriffsprotokoll auf "folder servers", die Information in Form eines Baumdiagramm speichern.
LibXMLhttp://php.net/libxmlLibrary mit XML Funktionen und Konstanten
LibXSLThttp://php.net/xslLibrary mit Funktionen für XSL Transformation
Multibyte Stringhttp://php.net/mbstringSatz Funktionen zum Arbeiten mit Zeichenketten, zur Verwaltung der Codierung von multi-byte Zeichen oder zum Konvertieren von Zeichenketten.
OpenSSLhttp://php.net/opensslVerwendung der Funktionen OpenSSL zum Generieren und Verifizieren von Signaturen, zum Versiegeln (Verschlüsseln) und Öffnen (Entschlüsseln) von Daten.
PCRE (Perl Compatible Regular Expressions)http://php.net/pcreSatz Funktionen, die rationale Ausdrücke implementieren, welche dieselbe Syntax und semantische Perl 5 verwenden
Beispiel:
  // Dieses Beispiel entfernt unnötige Leerzeichen in einer Zeichenkette.
 C_TEXT($myString)
 $myString:="foo       o        bar"
 PHP Execute("";"preg_replace";$myString;"/\\s\\s+/";" ";$myString)
 ALERT($myString)
  // $myString ist nun "foo o bar" ohne wiederholte Leerzeichen
PDO (PHP Data Objects) (*)http://php.net/pdoSchnittstelle für Zugriff auf eine Datenbank. Erfordert einen datenbankspezifischen PDO Treiber.
PDO_SQLITE (*)http://php.net/pdo_sqliteTreiber, der die PHP Data Objects (PDO) Schnittstelle implementiert, um PHP Zugriff auf SQLite 3 Datenbanken zu ermöglichen.
Reflectionhttp://php.net/reflectionKomplette Reflection API zur Untersuchung/Erkennung von Klassen, Interfaces, Funktionen und Methoden sowie Erweiterungen
Phar (PHP Archive)http://php.net/pharEinfügen einer kompletten PHP Anwendung in einer einmaligen Datei mit Namen "phar" (PHP Archiv), um ihre Installation und Konfiguration zu erleichtern
Sessionhttp://php.net/sessionUnterstützung der PHP Sitzungen
Beispiel:
In Web Anwendungen dienen Sitzungen dazu, den Kontext zwischen jeder Anfrage zu behalten. Rufen Sie PHP Execute in 4D auf, kann das PHP Skript eine Sitzung starten und alles, was als Kontext erhaltenswert ist, im Array $_SESSION speichern. Verwendet ein PHP Skript Sitzungen, müssen Sie die von PHP zurückgegebene Sitzungs ID über den Befehl PHP GET FULL RESPONSE erhalten und sie vor jedem Aufruf von PHP Execute über den Befehl SET ENVIRONMENT VARIABLE spezifizieren.
  // "PHP Execute with context" method
 If(<>PHP_Session#"")
    SET ENVIRONMENT VARIABLE("HTTP_COOKIE";<>PHP_Session)
 End if
 If(PHP Execute($1))
    PHP GET FULL RESPONSE($0;$errorInfos;$errorValues;$headerFields;$headerValues)
    $idx:=Find in array($headerFields;"Set-Cookie")
    If($idx>0)
       <>PHP_Session:=$headerValues{$idx}
    End if
 End if
SimpleXMLhttp://php.net/simpleXMLSehr einfache und leicht-verwendbare Werkzeuge, um XML in ein Objekt zu konvertieren, das mit seinen Eigenschaften und Array Iteratoren bearbeitet werden kann.
Socketshttp://php.net/socketsImplementierung einer low-level Schnittstelle zu Funktionen für Socket Kommunikation, basierend auf BSD Sockets und mit der Möglichkeit, sowohl als Socket-Server als auch als -Client zu operieren.
SPL (Standard PHP Library)http://php.net/splSammlung von Interfaces und Klassen, die zum Lösen von Standardproblemen dienen.
SQLite (*)http://php.net/sqliteErweiterung für die SQLite Datenbank Engine. Diese Engine ist einbindbar.
SQLite3 (*)http://php.net/sqlite3Unterstützung für SQLite Version 3 Datenbanken.
Tokenizerhttp://php.net/tokenizerFunktionen, über die Sie Ihre eigenen PHP Analyse- oder Änderungswerkzeuge schreiben können, ohne sich mit Sprachspezifikationen auf lexikalischer Ebene befassen zu müssen.
XML (eXtensible Markup Language)http://php.net/xmlDurchlaufen von XML Dokumenten.
XMLreaderhttp://php.net/xmlreaderXML Pull Parser
XMLwriterhttp://php.net/xmlwriterGenerierung von Streams oder Dateien im XML Format
Zlibhttp://php.net/zlibKomprimierte gzip (.gz) Dateien lesen und schreiben
Beispiel:
 WEB GET HTTP HEADER($names;$values)
 $pos:=Find in array($names;"Accept-Encoding")
 If($pos>0)
    Case of
       :(Position($values{$pos};"gzip")>0)
          WEB SET HTTP HEADER("Content-Encoding: gzip")
          PHP Execute("";"gzencode";$html;$html)
       :(Position($values{$pos};"deflate")>0)
          WEB SET HTTP HEADER("Content-Encoding: deflate")
          PHP Execute("";"gzdeflate";$html;$html)
    End case
 End if
 WEB SEND TEXT($html)
Ziphttp://php.net/zipZIP komprimierte Archive und darin enthaltene Dateien lesen und schreiben.

(*) Diese Module sind in der aktuellen 4D Version unter Windows nicht verfügbar.

Aus strukturellen Gründen sind folgende PHP Module nur auf der Windows Plattform verfügbar.

NameWeb SiteBeschreibung
COM & .NEThttp://php.net/comCOM (Component Object Model) ist einer der Hauptwege für Anwendungen und Komponenten zur Kommunikation auf Windows Plattformen. Darüberhinaus unterstützt 4D die Instantiation und Erstellung von .Net Ansammlungen über den COM layer.
ODBC (Open DataBase Connectivity)http://php.net/odbcZusätzlich zur standardmäßigen ODBC Unterstützung gewähren die Unified ODBC Funktionen in PHP Zugriff auf verschiedene Datenbanken, die die Semantik der ODBC API zum Implementieren ihrer eigenen API übernommen haben.
WDDX (Web Distributed Data eXchange)http://php.net/wddxErleichtert den Datenaustausch zwischen Web Anwendungen über das Web, unabhängig von der Plattform.

Nachfolgende PHP Module wurden nicht integriert. Die dritte Spalte gibt den Grund dafür an:

NameWeb SiteGrund - Alternative
Mimetypehttp://php.net/mime-magicVeraltet (Deprecated) - Fileinfo verwenden
POSIX (Portable Operating System Interface)http://php.net/posixVeraltet (Deprecated)
Regular Expression (POSIX Extended)http://php.net/regexVeraltet (Deprecated) - PCRE verwenden
Crackhttp://php.net/crackRestriktive Lizenz
ffmpeghttp://ffmpeg-php.sourceforge.net/Restriktive Lizenz - ffmpeg in Befehlszeile mit LAUNCH EXTERNAL PROCESS verwenden
Image Magickhttp://php.net/manual/book.imagick.phpRestriktive Lizenz - GD 2 verwenden
IMAP (Internet Message Access Protocol)http://php.net/imapRestriktive Lizenz - Das integrierte Plug-In 4D Internet Commands verwenden.
PDF (Portable Document Format)http://php.net/pdfRestriktive Lizenz - Haru PDF verwenden
Mysqlnd (MySQL Native Driver)http://dev.mysql.com/downloads/connector/php-mysqlnd/Nicht relevant in der 4D Umgebung

Die Datei "php.ini" zum Ändern (siehe unten) kann entweder in den Ordner Resources\php des 4D Programms (Standarddatei) oder in den Ordner Resources der Datenbank (eigene Datei) gelegt werden. Weitere Informationen dazu finden Sie im Abschnitt PHP Skripte in 4D ausführen.

Warnung: Das Ändern der Datei "php.ini" sollte mit Bedacht ausgeführt werden und erfordert gute Kenntnis von PHP. Weitere Informationen zur Konfiguration eigener php.ini Dateien finden Sie in den 4D Kommentaren in der php.ini Datei. 

Hinweis: Dauert die PHP Bearbeitung relativ lange (über 30 Sekunden), wird In 4D standardmäßig ein 'timeout' Fehler zurückgegeben und die Bearbeitung abgebrochen. In solchen Fällen können Sie das standardmäßige Timeout verändern, um der PHP Ausführung mehr Zeit zu geben. Es gibt zwei Wege:

  • Die Variable max_execution_time in der Datei "php.ini" setzen (übergeben Sie einen Wert in Sekunden). Achtung: Diese Einstellung wirkt sich auf alle Skripte aus.
  • Den Befehl set_time_limit(nbSec) im PHP Ausführungsskript setzen, das längere Bearbeitung benötigt. In nbSec übergeben Sie die max. Dauer für die Ausführung des PHP Skripts.
    Wir empfehlen diese Einstellung, da sie nur für dieses Skript gilt. Aus Sicherheitsgründen ist es in der Regel besser, für PHP Skripte als Timeout einen kleinen Wert zu setzen.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: PHP

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)

Geerbt von : Unterstützung von PHP Modulen ( 4D v12.4)
Gesplittet : Unterstützung von PHP Modulen ( 4D v13.5)